Você está na página 1de 423

SISTEMAS DIGITAIS

APONTAMENTOS DAS AULAS TEORICAS

Guilherme Arroz Carlos S erro

Vers ao 1.1 3 de Agosto de 2005

Instituto Superior T ecnico Departamento de Engenharia Electrot ecnica e de Computadores TagusPark Porto Salvo

Historial
3 de Agosto de 2005 22 de Fevereiro de 2005 6 de Dezembro de 2004 26 de Outubro de 2004 14 de Setembro de 2004 v1.1 v1.0 v0.2 v0.1 v0.0 Vers ao corrente. Foi adicionado o Cap tulo 19, e foram feitas correc co es no texto da vers ao 0.2 Foram adicionados os Cap tulos 17 e 18, e feitas correc c oes no texto da vers ao 0.1 Foram adicionados os Cap tulos 15 e 16, e feitas correc c oes no texto da vers ao 0.0 Vers ao original

Refer encias
Endere co de e-mail: cas @ digitais.ist.utl.pt P agina da cadeira de Sistemas Digitais: http://sd.tagus.ist.utl.pt Vers ao 1, revis ao 1, de 3 de Agosto de 2005

Pref acio
Este texto foi desenvolvido a partir dos resumos das aulas te oricas da cadeira de Sistemas Digitais das licenciaturas em Engenharia Inform atica e de Computadores (LEIC), em Engenharia Electr onica (LEE), e em Redes de Comunica ca o e de Informa ca o (LERCI), leccionados no ano lectivo de 2003/2004 no campus do TagusPark do Instituto Superior T ecnico. Como tal, o presente texto representa uma tentativa de incluir num u nico local os apontamentos te oricos essenciais a ` compreens ao da mat eria de Sistemas Digitais, tal como ela foi ensinada nesse ano lectivo. Por isso, n ao deve ser entendido como um texto completo, mas sim como uma colec c ao de resumos te oricos que n ao dispensam o estudo mais aprofundado da mat eria por um dos textos referenciados na bibliograa indicada no m de cada um dos cap tulos. No essencial, o texto segue a matriz das aulas te oricas, tais como elas foram desenvolvidas por um de n os (Guilherme Arroz) e postas a ` disposi ca o dos alunos nesse ano lectivo. Aqui e ali o texto foi revisto e aumentado, com o objectivo de o tornar mais claro, por vezes mais completo.

Organiza c ao do texto
O presente texto encontra-se organizado em 3 partes: a primeira trata dos fundamentos te oricos subjacentes a todos os circuitos e sistemas digitais, e cobre os Cap tulos 1 a 5; a segunda trata dos circuitos combinat orios, e vai do Cap tulo 6 ao Cap tulo 11; e a terceira parte lida com os circuitos sequenciais, nos Cap tulos 12 a 19. Em simult aneo desenvolveram-se ainda dois outros textos, pelo que presentemente est ao dispon veis: o presente documento, com os resumos das aulas te oricas, que designamos por Sistemas Digitais: Apontamentos das Aulas Te oricas ou, mais sucintamente, por SD:AAT ; um manual com a resolu ca o de alguns exerc cios, os mais importantes, com o nome Sistemas Digitais: Exerc cios Resolvidos, que designamos abreviadamente por SD:ER; e um Gloss ario, designado simbolicamente por SD:GL. Em futuras vers oes prev e-se a inclus ao, em SD:AAT , de alguns ap endices com mat eria que complementa a que e dada nas aulas te oricas, e que a completa. iii

iv Salientam-se, em particular, um ap endice com uma descri ca o sucinta da nota ca o de depend encia usada na Norma IEC 60617-12, e um outro com as regras essenciais que est ao na base de um correcto desenho dos diagramas de blocos, dos logigramas e dos esquemas el ectricos. Finalmente prev e-se a inclus ao futura de um ap endice que descreve os m etodos mais simples de an alise que permitem o diagn ostico de falhas nos circuitos digitais.

Notas ` a margem e ndice remissivo


Espalhados pelo texto podemos encontrar tr es tipos de notas a ` margem: chamadas de aten ca o para partes do texto particularmente importantes, geralmente escritas em it alico; s ao referenciadas pelo s mbolo especial que se mostra nesta margem, a ` esquerda;
Este e um coment ario obviamente pouco interessante.

coment arios em it alico destinados a complementar a mat eria; ser ao inclu dos ao longo das sucessivas vers oes do texto, a ` medida que a reac ca o dos alunos a determinados pontos mais obscuros ou dif ceis justique as suas inclus oes; e conceitos chave, em negrito, que constituem as entradas do Gloss ario (SD:GL). Nesse sentido, o Gloss ario e m coadjuvante importante do texto, na medida em que sistematiza os principais conceitos num u nico documento. Os conceitos s ao referenciados por entradas ` a margem, em cor, o que facilita a sua procura ap os consulta ao Gloss ario ou ao Indice Remissivo. No Indice Remissivo encontram-se tr es tipos de refer encias: (i) as normais, em tipo direito, para indicar as p aginas do texto onde se encontram os conceitos que n ao precisam de ser salientados de forma especial; (ii) as refer encias em it alico , que identicam as p aginas do texto onde existem conceitos chave, em negrito e acentuados a ` margem; e (iii) as entradas do Gloss ario ou de outros ap endices, em negrito.

Os conceitos em

negrito est ao no
Gloss ario

Agradecimentos
Os autores est ao agradecidos aos alunos Paulo Gomes, Jo ao Nunes e Jo ao Loureiro, que apontaram erros no texto de vers oes anteriores e que sugeriram, em alguns casos, altera co es ao mesmo, com o prop osito de o tornar mais claro. Oeiras, 3 de Agosto de 2005 Guilherme Arroz Carlos S erro

Indice
I FUNDAMENTOS 1
3 3 5 7 7 7 9 9 10 12 12 15 16 19 19 19 25 25 29 29 29 31 31 33

1 SISTEMAS DE NUMERAC AO 1.1 Sistemas de numera ca o posicionais . . . . . . . . . . . . . . . . . 1.1.1 1.1.2 1.2 Representa ca o na base 2 . . . . . . . . . . . . . . . . . . . Representa ca o na base 16 . . . . . . . . . . . . . . . . . .

Convers ao entre Bases . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 1.2.2 1.2.3 1.2.4 Convers ao entre a base 10 e as bases 2 e 16 . . . . . . . . Convers ao da base 2 para a base 16 . . . . . . . . . . . . Convers ao da base 16 para a base 2 . . . . . . . . . . . . Truncagens e arredondamentos . . . . . . . . . . . . . . .

1.3

Aritm etica Bin aria . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 1.3.2 1.3.3 Adi co es na base 2 e noutras bases . . . . . . . . . . . . . Subtrac co es na base 2 e noutras bases . . . . . . . . . . . Multiplica ca o na base 2 e noutras bases . . . . . . . . . .

1.4

N umeros com Sinal . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 1.4.2 Nota ca o de sinal e m odulo . . . . . . . . . . . . . . . . . . Nota ca o de complemento para 2 . . . . . . . . . . . . . .

1.5 1.6

Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 CODIGOS 2.1 2.2 2.3 2.4 Conceito de C odigo . . . . . . . . . . . . . . . . . . . . . . . . . . C odigos Num ericos . . . . . . . . . . . . . . . . . . . . . . . . . . C odigo Bin ario Natural (CBN) . . . . . . . . . . . . . . . . . . . C odigo Bin ario Reectido (CBR) . . . . . . . . . . . . . . . . . . 2.4.1 Constru ca o do CBR a partir do CBN . . . . . . . . . . . v

vi 2.5

INDICE C odigo BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 2.5.2 2.6 2.7 Representa ca o de n umeros em BCD . . . . . . . . . . . . Adi ca o em BCD . . . . . . . . . . . . . . . . . . . . . . . 33 33 35 36 37 37 38 38 39 41 41 42 44 47 48 48 48 50 50 53 53 54 58 58 60 62 64 65 65

Os C odigos memn . . . . . . . . . . . . . . . . . . . . . . . . . C odigos Alfanum ericos . . . . . . . . . . . . . . . . . . . . . . . . 2.7.1 2.7.2 O c odigo ASCII . . . . . . . . . . . . . . . . . . . . . . .

O c odigo ISO-8859-1 . . . . . . . . . . . . . . . . . . . . .

2.8 2.9

Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 ALGEBRA DE BOOLE BINARIA 3.1 3.2 3.3 3.4 3.5 Vari aveis e Fun co es Booleanas . . . . . . . . . . . . . . . . . . . . Fun co es com Uma Vari avel . . . . . . . . . . . . . . . . . . . . . Fun co es com Duas Vari aveis . . . . . . . . . . . . . . . . . . . . . Fun co es com Mais do que Duas Vari aveis . . . . . . . . . . . . . Axiomas e teoremas . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 3.5.2 3.6 3.7 Axiomas . . . . . . . . . . . . . . . . . . . . . . . . . . . . Teoremas . . . . . . . . . . . . . . . . . . . . . . . . . . .

Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

DAS FUNC 4 REPRESENTAC AO OES 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Express oes booleanas . . . . . . . . . . . . . . . . . . . . . . . . . Tabelas de verdade . . . . . . . . . . . . . . . . . . . . . . . . . . O Conjunto {AND, OR, NOT} . . . . . . . . . . . . . . . . . . . Soma de mintermos . . . . . . . . . . . . . . . . . . . . . . . . .

Produto de maxtermos . . . . . . . . . . . . . . . . . . . . . . . . Representa ca o por Logigrama . . . . . . . . . . . . . . . . . . . . Import ancia das Fun co es NAND e NOR . . . . . . . . . . . . . . Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

INDICE 5 METODO DE KARNAUGH 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Simplica ca o alg ebrica . . . . . . . . . . . . . . . . . . . . . . . . Minimiza ca o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adjac encias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quadros de Karnaugh com 4 Vari aveis . . . . . . . . . . . . . . . Implicantes e Implicantes Primos . . . . . . . . . . . . . . . . . . Minimiza ca o com Indiferen cas . . . . . . . . . . . . . . . . . . . . Quadros de 5 Vari aveis . . . . . . . . . . . . . . . . . . . . . . . . Minimiza ca o Usando os Maxtermos . . . . . . . . . . . . . . . . . O Algoritmo de Karnaugh . . . . . . . . . . . . . . . . . . . . . .

vii 69 69 70 70 74 76 79 82 84 87 87 88

5.10 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 5.11 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

II

CIRCUITOS COMBINATORIOS

93
95 95 96 97 99

6 ELEMENTOS TECNOLOGICOS 6.1 6.2 6.3 6.4 Portas L ogicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sinais Bin arios . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tipos de Circuitos Integrados Digitais . . . . . . . . . . . . . . . A Fam lia TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 6.4.2 6.5

N veis el ectricos dos circuitos TTL . . . . . . . . . . . . . 100 Sa das totem-pole e tri-state . . . . . . . . . . . . . . . . . 101

A Familia CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.5.1 N veis el ectricos dos circuitos CMOS . . . . . . . . . . . . 103

6.6 6.7 6.8 6.9

Encapsulamento dos Integrados . . . . . . . . . . . . . . . . . . . 104 Fan-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Dissipa ca o de Pot encia . . . . . . . . . . . . . . . . . . . . . . . . 105 Tempos de Propaga ca o das Portas . . . . . . . . . . . . . . . . . 105

6.10 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 106 7 LOGICA DE POLARIDADE 7.1 107

L ogicas de Polaridade, Positiva e Negativa . . . . . . . . . . . . . 107 7.1.1 7.1.2 7.1.3 S mbolos dos circuitos digitais . . . . . . . . . . . . . . . . 107 Raz ao da l ogica de polaridade . . . . . . . . . . . . . . . . 109 Tabelas de verdade f sicas e l ogicas . . . . . . . . . . . . . 110

viii 7.1.4 7.1.5 7.1.6 7.2

INDICE Portas l ogicas em l ogica de polaridade . . . . . . . . . . . 113 Tabelas de verdade gen ericas e f sicas . . . . . . . . . . . 114 Logigramas e esquemas el ectricos em l ogica de polaridade 120

Conte udo Sem antico . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.2.1 Buers, inversores e conversores de polaridade . . . . . . 127 Gera ca o de logigramas . . . . . . . . . . . . . . . . . . . . 129 Express oes booleanas a partir de logigramas . . . . . . . . 131

7.3

Logigramas e Express oes Booleanas . . . . . . . . . . . . . . . . . 129 7.3.1 7.3.2

7.4 7.5 7.6

Exemplo de Utiliza ca o . . . . . . . . . . . . . . . . . . . . . . . . 136 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 138 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 145

8 ANALISE E S INTESE COMBINATORIA 8.1 8.2 8.3 8.4 8.5 8.6

Enquadramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 An alise de Circuitos Combinat orios . . . . . . . . . . . . . . . . . 146 Projecto de Circuitos Combinat orios . . . . . . . . . . . . . . . . 148 S ntese de Circuitos Combinat orios . . . . . . . . . . . . . . . . . 151 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 154 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 157

9 CODIFICADORES E DESCODIFICADORES 9.1

Descodicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 9.1.1 9.1.2 Expans ao de descodicadores . . . . . . . . . . . . . . . . 160 Utiliza ca o de descodicadores na implementa ca o de fun co es l ogicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

9.2 9.3 9.4

Codicadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 164 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 169

10 MULTIPLEXERS E DEMULTIPLEXERS

10.1 Multiplexers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 10.1.1 Simbolos dos multiplexers . . . . . . . . . . . . . . . . . . 172 10.1.2 Expans ao de multiplexers . . . . . . . . . . . . . . . . . . 174 10.2 Demultiplexers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 10.3 Aplica co es dos Multiplexers e dos Demultiplexers . . . . . . . . . 179 10.4 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 182 10.5 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

INDICE 11 CIRCUITOS ARITMETICOS 187

ix

11.1 Somadores Bin arios . . . . . . . . . . . . . . . . . . . . . . . . . . 187 11.2 Subtractores Bin arios . . . . . . . . . . . . . . . . . . . . . . . . 190 11.3 Somadores e Subtractores em Complemento para 2 . . . . . . . . 192 11.4 Somadores BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 11.5 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 195 11.6 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

III

CIRCUITOS SEQUENCIAIS

197
199

12 LATCHES

12.1 Latches Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 12.2 Latches Controlados . . . . . . . . . . . . . . . . . . . . . . . . . 205 12.3 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 210 12.4 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 13 FLIP-FLOPS 217

13.1 Flip-ops Master-slave . . . . . . . . . . . . . . . . . . . . . . . . 217 13.2 Flip-ops Edge-triggered . . . . . . . . . . . . . . . . . . . . . . . 224 13.3 Temporiza co es nos Flip-ops . . . . . . . . . . . . . . . . . . . . 227 13.4 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 228 13.5 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 14 CONTADORES 233

14.1 Contadores Ass ncronos . . . . . . . . . . . . . . . . . . . . . . . 233 14.1.1 Flip-ops T . . . . . . . . . . . . . . . . . . . . . . . . . . 235 14.1.2 Diagrama temporal . . . . . . . . . . . . . . . . . . . . . . 237 14.1.3 Contadores ass ncronos com m odulos arbitr arios . . . . . 237 14.1.4 S mbolos dos contadores ass ncronos . . . . . . . . . . . . 239 14.2 Contadores S ncronos . . . . . . . . . . . . . . . . . . . . . . . . 240

14.2.1 Concep ca o heur stica de um contador s ncrono . . . . . . 240 14.2.2 Contadores s ncronos com entrada de Enable . . . . . . . 243 14.2.3 Concep ca o de contadores s ncronos de m odulo qualquer . 243 14.2.4 Contadores s ncronos com v arios modos de funcionamento 246 14.2.5 Contadores s ncronos com carregamento em paralelo . . . 247

INDICE 14.3 S mbolos dos Contadores . . . . . . . . . . . . . . . . . . . . . . . 249 14.4 Estados Inst aveis . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 14.5 Interliga ca o de Contadores . . . . . . . . . . . . . . . . . . . . . . 252 14.6 Carregamento em Paralelo . . . . . . . . . . . . . . . . . . . . . . 253 14.7 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 254 14.8 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

15 REGISTOS

263

15.1 Conceito de Registo . . . . . . . . . . . . . . . . . . . . . . . . . 263 15.2 Registos Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 15.3 Registos com Enable . . . . . . . . . . . . . . . . . . . . . . . . . 265 15.4 Registos de Deslocamento . . . . . . . . . . . . . . . . . . . . . . 266 15.5 Registos Multimodo . . . . . . . . . . . . . . . . . . . . . . . . . 268 15.6 Transfer encias entre Registos . . . . . . . . . . . . . . . . . . . . 270 15.6.1 Interliga ca o de registos . . . . . . . . . . . . . . . . . . . . 270 15.6.2 Interliga ca o entre registos utilizando multiplexers . . . . . 270 15.6.3 Buers tri-state . . . . . . . . . . . . . . . . . . . . . . . . 272 15.6.4 Interliga ca o entre registos utilizando barramentos tri-state 276 15.7 Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 276 15.8 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 16 CIRCUITOS SEQUENCIAIS S INCRONOS 281

16.1 Circuitos S ncronos e Ass ncronos . . . . . . . . . . . . . . . . . . 281 16.2 Modelo de um Circuito Sequencial S ncrono . . . . . . . . . . . . 283 16.3 An alise dos Circuitos Sequenciais S ncronos . . . . . . . . . . . . 283 16.4 Modelos de Mealy e de Moore . . . . . . . . . . . . . . . . . . . . 287 16.5 S ntese de Circuitos Sequenciais S ncronos . . . . . . . . . . . . . 288 16.6 Exemplo de Concep ca o de Diagramas de Estados . . . . . . . . . 289 16.6.1 Concep ca o de diagramas de estados: modelo de Moore . . 290 16.6.2 Concep ca o de diagramas de estados: modelo de Mealy . . 293 16.7 S ntese Cl assica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 16.7.1 S ntese Cl assica com Flip-ops D . . . . . . . . . . . . . . 296 16.7.2 S ntese Cl assica com Flip-ops JK . . . . . . . . . . . . . 300 16.8 S ntese com um Flip-op por Estado . . . . . . . . . . . . . . . . 301 16.9 Fluxogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 16.10Refer encias Bibliogr acas . . . . . . . . . . . . . . . . . . . . . . 314 16.11Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

INDICE 17 MEMORIAS 329

xi

17.1 Read Only Memories (ROMs) . . . . . . . . . . . . . . . . . . 330 17.1.1 Tipos de ROMs . . . . . . . . . . . . . . . . . . . . . . . . 330 17.1.2 Utiliza ca o das ROMs . . . . . . . . . . . . . . . . . . . . . 331 17.1.3 Estrutura de uma ROM . . . . . . . . . . . . . . . . . . . 331 17.1.4 Funcionamento de uma MROM . . . . . . . . . . . . . . . 332 17.1.5 Descodica ca o coincidente . . . . . . . . . . . . . . . . . . 334 17.1.6 S mbolos das ROMs . . . . . . . . . . . . . . . . . . . . . 334 17.1.7 Temporiza co es na leitura de uma ROM . . . . . . . . . . 336 17.1.8 Expans ao de ROMs . . . . . . . . . . . . . . . . . . . . . 339 17.2 Random Access Memories (RAMs) . . . . . . . . . . . . . . . . 341 17.2.1 Tipos de RAMs . . . . . . . . . . . . . . . . . . . . . . . . 341 17.2.2 S mbolos das RAMs . . . . . . . . . . . . . . . . . . . . . 342 17.2.3 Estrutura de uma RAM est atica (SRAM) . . . . . . . . . 344 17.2.4 Ciclos de leitura e de escrita numa SRAM . . . . . . . . . 348 17.2.5 Expans ao de RAMs . . . . . . . . . . . . . . . . . . . . . 350 18 LOGICA PROGRAMAVEL 351

18.1 Read Only Memories (ROMs) . . . . . . . . . . . . . . . . . . 351 18.2 Programmable Logic Arrays (PLAs) . . . . . . . . . . . . . . . 353 18.3 Programmable Array Logic (PALs) 19 MAQUINAS DE ESTADOS . . . . . . . . . . . . . . . 358 363

19.1 Circuito Controlado e Circuito de Controlo . . . . . . . . . . . . 363 19.2 M aquinas de Estados e Fluxogramas . . . . . . . . . . . . . . . . 366 19.3 Implementa ca o com ROMs . . . . . . . . . . . . . . . . . . . . . 367 19.3.1 Estrutura b asica de controlo por ROM . . . . . . . . . . . 369 19.3.2 Controlo por ROM com endere camento expl cito . . . . . 373 19.3.3 Controlo por ROM com endere camento impl cito . . . . . 382 19.4 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388

xii

INDICE

Parte I

FUNDAMENTOS

Cap tulo 1

Sistemas de Numera c ao
1.1 Sistemas de numera c ao posicionais
Sistema decimal Base 10

Estamos t ao habituados a contar e a executar as opera co es b asicas (adi ca o, subtrac ca o, multiplica c ao e divis ao) usando um sistema decimal, com base b = = 10, que nem paramos para pensar por um momento nos algoritmos que est ao na base dessas opera co es. A utiliza ca o dessa base era inevit avel, j a que a humanidade se habituou, desde muito cedo, a contar pelos dedos das m aos. Ocasionalmente usa outros sistemas de numera ca o. Por exemplo, usa o sistema sexagesimal, com base b = 60, para contar as unidades hor arias de minutos e segundos, ou o sistema duodecimal com base b = 12, ou o sistema de base b = 24, para identicar as horas do dia. Todos estes sistemas s ao posicionais ou ponderados, na medida em que cada n umero e formado por uma sequ encia de d gitos ou algarismos, em que cada d gito possui um peso caracter stico da posi ca o que ocupa na sequ encia. Nada nos impede, contudo, de usar sistemas com bases n ao naturais, por exemplo com bases inteiras negativas, bases racionais e irracionais, reais, ou at e bases complexas. E usamos ainda sistemas n ao posicionais, como e o caso do sistema de numera ca o romano, em que n ao h a pesos associados aos d gitos. Neste curso vamos estar interessados apenas nos sistemas posicionais (que designamos, mais simplesmente, por sistemas de numera c ao) de base b e, em particular, nos sistemas de numera ca o bin ario (com b = 2) e hexadecimal (com b = 16). Ocasionalmente, refererir-nos-emos a outros sistemas de numera ca o, com uma base natural arbitr aria. Por outro lado, come caremos por estudar os n umeros sem sinal, deixando para a Sec c ao 1.4 o estudo dos n umeros com sinal. Para que cada quantidade num erica seja expressa por uma e s o uma sequ encia de d gitos, um sistema de numera c ao de base b arbitr aria possui b d gitos, sendo que cada um deles deve exprimir, por si s o, um n umero diferente, menor do que b. Assim, um d gito exprimir a a aus encia de qualquer quantidade, usando-se, nesse caso, o s mbolo 0 para o representar. Outro d gito expressar a a quantidade 3

Sistema sexagesimal Base 60 Sistema duodecimal Base 12

Sistemas posicionais ou ponderados D gito ou algarismo Peso Sistemas n ao posicionais

Sistema de numera ca o de base b

N umeros sem sinal

CAP ITULO 1. SISTEMAS DE NUMERAC AO

unit aria, e o s mbolo 1 representar a esse d gito. Os restantes d gitos exprimir ao quantidades de duas, tr es, quatro, . . . , (b 1) unidades. Um n umero sem sinal escrito num sistema de numera ca o de base b, que designaremos por N(b) , vem representado por uma sequ encia innita de d gitos, N(b) <> d2 d1 d0, d1 d2 , e em que o s mbolo <> e utilizado indistintamente para signicar que N(b) representado pela sequ encia, ou que a sequ encia representa N(b) . Nesta sequ encia, cada d gito di e ponderado por um peso bi associado a ` sua posi ca o. Se agora efectuarmos a soma polinomial
+

N(10) =

di bi = + d2b2 + d1b1 + d0b0 + d1b1 +

Equivalente decimal

na base 10, obtemos o equivalente decimal N(10) de N(b) . A igualdade anterior sugere que um n umero sem sinal dever a ser representado por uma sequ encia innita de d gitos. Tal sequ encia e, naturalmente, imposs vel de escrever ou de utilizar. Nessas condi c oes, torna-se nita a sequ encia procedendo a `s seguintes opera co es: (i) truncamento dos d gitos n ao signicativos a ` esquerda da representa ca o, se existirem; (ii) truncamento dos d gitos a ` direita da representa ca o ou, quando tal n ao for poss vel, arredondamento do d gito de menor peso. Obtemos, nessas condi co es, uma sequ encia nita, N(b) <> dq1 dq2 . . . d1 d0 , d1 . . . dp , com precis ao eventualmente reduzida em rela ca o a ` de N(b) , sequ encia essa com q d gitos para a esquerda e p d gitos para a direita da v rgula (eventualmente, ao, dado pela soma p pode ser nulo). O equivalente decimal de N(b) vem, ent
q 1 N(10) i=p

dibi = dq1 bq1 + + d0b0 + d1b1 + + dp bp .

Um exemplo ajuda a claricar estas quest oes. O n umero 460, 13(7) tem por equivalente decimal o n umero 4 72 + 6 71 + 1 71 + 3 72 = = 4 49 + 6 7 + 1 1 1 +3 7 49 = 196 + 42 + 0, 142857 + 0, 061224 = 238, 204081 .

Notemos que este resultado possui uma parte fraccion aria innita. Se a quisermos tornar nita o que podemos ou n ao querer fazer, consoante o problema que tivermos em m aos precisamos de a truncar ou de a arredondar. Escrevemos, ent ao, por exemplo, que 460, 13(7) 238, 20408(10)

POSICIONAIS 1.1. SISTEMAS DE NUMERAC AO se quisermos obter uma precis ao de 5 casas decimais fraccion arias (neste caso trunc amos a parte fraccion aria) , ou 460, 13(7) 238, 2041(10) se apenas precisarmos de 4 casas decimais (neste caso arredond amo-la). Mais a ` frente estudaremos a quest ao da precis ao a dar a um n umero fraccion ario, numa base arbitr aria, que e como quem diz, a quest ao da truncagem ou do arredondamento correcto da parte fraccion aria. Uma quest ao nal sobre a designa ca o a dar a um n umero escrito numa base arbitr aria. Estamos habituados a dizer que o n umero trinta e sete v rgula cinco se representa por 37, 5. Mas, naturalmente, tal s o e poss vel num sistema de base 10, em que trinta tem o signicado de 3 10. Ou seja, a frase trinta ao possui qualquer e sete v rgula cinco representa apenas o n umero 37, 5(10) e n esp ecie de signicado em qualquer outro sistema de numera ca o. E se quisermos identicar verbalmente o n umero 37, 5(8)? Ou o n umero 37, 5(9)? Ou ainda o n umero 37, 5(b), com b 11? Naturalmente, j a n ao podemos verbalizar esses n umeros da mesma forma. A maneira correcta de o fazer consiste em escrever que o n umero 37, 5(b) se designa por tr es sete v rgula cinco na base b. E isto porque o tr es na base b = 10 e ainda o tr es numa base em que b = 10 e b 4, outro tanto acontecendo com os outros dois d gitos. Pela mesma ordem de raz oes, dizemos que um n umero decimal tem d zima ou parte decimal, mas que um n umero numa base arbitr aria b = 10 tem parte fraccion aria.

O maior dos d gitos no n umero 37, 5(b) e o 7. Logo, b tem que ser, pelo menos, igual a 8.

1.1.1

Representa c ao na base 2
Sistema bin ario Base 2 Bit

No sistema bin ario ou sistema de base b=2 usam-se apenas os d gitos 0 e 1, que tamb em se designam por bits. Assim sendo, um n umero bin ario leg timo e, por exemplo, o n umero 1101, 11(2), que tem por equivalente decimal o n umero que resulta da soma 1 23 + 1 22 + 0 21 + 1 20 + 1 21 + 1 22 = 1 1 = 18+14+11+1 +1 2 4 = 8 + 4 + 1 + 0, 5 + 0, 25 = 13, 75(10) . Como podemos constatar, a d zima e, neste caso, nita. Escrevemos, ent ao, 1101, 11(2) = 13, 75(10) se quisermos duas casas na parte decimal, ou 1101, 11(2) 13, 8(10) se apenas quisermos uma casa decimal, ou ainda 1101, 11(2) 14(10)

6 se n ao quisermos nenhuma.

CAP ITULO 1. SISTEMAS DE NUMERAC AO

Para o sistema de numera ca o bin ario eu til o conhecimento das pot encias de 2 mais importantes, porque nos ajuda a manejar com mais facilidade os pesos bi necess arios a `s convers oes entre bases. Por exemplo, ajuda saber que o 1 mais signicativo (com maior peso, mais a ` esquerda) no n umero 110100011(2) tem peso 28 = 256. Na Tabela 1.1 representam-se algumas pot encias 2n , para valores inteiros de n entre 10 e +10. Tabela 1.1: Pot encias 2n, para n inteiro entre 10 e +10
2n 1 2 4 8 16 32 64 128 256 512 1k = 1024 n 0 1 2 3 4 5 6 7 8 9 10 2n 1, 0 0, 5 0, 25 0, 125 0, 0625 0, 03125 0, 015625 0, 0078125 0, 00390625 0, 001953125 0, 0009765625

Em particular, chama-se a aten ca o para a designa ca o 1k dada ` a pot encia 210 = e a pot encia de 2 que mais se aproxima de 1 000(10) (por essa = 1 024(10), que raz ao, o factor k toma a designa ca o habitual de quilo no sistema bin ario). Para 10 < n < 20 usam-se exclusivamente estas designa co es. Por exemplo, 216 = 26 210 = 64 1 024(10) = 65 536(10) , valor este que habitualmente se designa por 64 k. Para n = 20 usa-se a pot encia 220 = 210 210 = 1 024 1 024 = 1 048 576 . e a pot encia de 2 que mais se aproxima Tamb em neste caso 220 = 1 M = 1 k 1 k , pelo que o factor M toma a designa c a o habitual de mega. de 106 (10) Finalmente, para n = 30 usa-se a pot encia 230 = 1 M 1 k = 1 G . Sendo 1 G a pot encia de 2 que mais se aproxima de 109 (10) , o factor G toma a designa ca o habitual de giga. Assim, temos, por exemplo, 223 = 23 220 = 8 M , e 239 = 29 230 = 512 G .

ENTRE BASES 1.2. CONVERSAO

1.1.2

Representa c ao na base 16
Sistema hexadecimal Base 16

claro, teremos No sistema hexadecimal, com base b=16, usamos 16 d gitos. E que encontrar 16 representa co es (s mbolos) diferentes para cada um deles. No sistema decimal usamos os d gitos 0 a 9, que podemos continuar a utilizar no sistema hexadecimal. Mas agora precisamos de inventar d gitos. A forma habitual de o fazer consiste em recorrer a `s primeiras 6 letras do alfabeto para representar os d gitos hexadecimais que, no sistema decimal, correspondem aos n umeros (sequ encias de dois d gitos) 10 a 15. Ent ao, no sistema hexadecimal usamos, para al em dos s mbolos 0 a 9, tamb em as letras a a f, ou, o que e o mesmo, A a F. simples: fazemos E como estabelecer os equivalentes decimais destas letras? E A(16) = a(16) = 10(10) , B(16) = b(16) = 11(10) , ... F(16) = f(16) = 15(10) . Naturalmente os d gitos decimais mant em-se no sistema hexadecimal: 0(16) = = 0(10), 1(16) = 1(10), etc. Por exemplo, um n umero hexadecimal leg timo e F30,DA(16), que ter a por equivalente decimal o n umero que resulta da soma 15 162 + 3 161 + 0 160 + 13 161 + 10 162 = 1 1 + 10 = 15 256 + 3 16 + 13 16 256 = 3840 + 48 + 0, 8125 + 0, 0390625 = 3888, 8515625(10) . Mais uma vez, estamos na presen ca de um n umero com uma d zima nita. Escrevemos, ent ao, por exemplo F30, DA(16) 3888, 9(10) se apenas quisermos uma precis ao de uma casa decimal (neste caso arredond amos a d zima).

1.2
1.2.1

Convers ao entre Bases


Convers ao entre a base 10 e as bases 2 e 16

Uma vez que j a sabemos obter o equivalente decimal de um n umero escrito no sistema bin ario ou no sistema hexadecimal (no fundo, j a sabemos converter da base 2 ou 16 para a base 10), precisamos agora de aprender a converter da base 10 para a base 2 ou para a base 16, e ainda entre as bases 2 e 16. No caso geral, o problema da convers ao entre sistemas de numera c ao consiste no seguinte: dado um n umero N representado num sistema de base b1, ou

CAP ITULO 1. SISTEMAS DE NUMERAC AO

umero num sistema de base b2 , seja, dado N(b1 ) , pretende-se representar esse n obtendo-se N(b2 ) . No caso geral, quando b1 = 10 e b2 = 10, a mudan ca pode efectuar-se directamente, utilizando opera co es aritm eticas na base b1 ou na base b2 , existindo para tanto algoritmos apropriados para os dois casos. Contudo, a mudan ca vem geralmente facilitada se for efectuada atrav es do sistema de numera ca o de base 10, utilizando-se exclusivamente opera co es aritm eticas nessa base. Assim, por exemplo, para converter um n umero, dado no sistema de base b1 = 3, para o seu equivalente no sistema com base b2 = 7, converte-se primeiro o n umero para o seu equivalente na base 10 e, em seguida, opera-se a convers ao para a base b2 = 7. Este processo n ao introduz erros no tocante a ` convers ao da parte inteira. Contudo, a convers ao da parte fraccion aria nem sempre d a um resultado nito e, nesses casos, h a que arredond a-lo ou trunc a-lo. Ent ao, a utiliza ca o da base 10 como passo interm edio pode, se n ao pusermos os cuidados devidos, provocar uma acumula ca o de erros que devemos evitar. ao pode ser feita com as opera co es aritm eQuando b1 = 10 e b2 = 10, a convers etodo por vezes inc omodo. Por isso, usa-se ticas na base b2 , o que torna esse m e, frequentemente um m etodo diferente que utiliza a aritm etica da base b1, isto a aritm etica decimal. Nesse m etodo opera-se em duas fases, uma que trata a parte inteira, e outra que trata a parte decimal do n umero.
M etodo das divis oes sucessivas

A convers ao da parte inteira e feita pelo m etodo das divis oes sucessivas, que consiste em reter os restos das sucessivas divis oes por b2 do n umero decimal dado e dos quocientes entretanto obtidos, at e obter um quociente nulo . Como exemplo, admitamos que quer amos converter 136(10) para a base 2. Fazemos as seguintes divis oes: 136 0 d0 2 68 0 d1

2 34 0 d2

2 17 1 d3

2 8 0 d4

2 4 0 d5

2 2 0 d6

2 1 1 d7

2 0

Obtemos, assim, 136(10) <> 10001000(2) .


M etodo das multiplica co es sucessivas

Para a convers ao da parte decimal utiliza-se o m etodo das multiplica co es sucessivas, que consiste em reter as partes inteiras das multiplica co es por b2 da parte decimal dada e das sucessivas partes decimais entretanto obtidas, at e que seja atingida a precis ao pretendida para a parte fraccion aria do n umero convertido (mais a ` frente estudaremos a quest ao da precis ao mais em pormenor).

ENTRE BASES 1.2. CONVERSAO Por exemplo, para converter 0, 375(10) para a base 2 fazemos

0, 375 2 = 0, 750 d1 = 0 0, 750 2 = 1, 500 d2 = 1 0, 500 2 = 1, 000 d3 = 1 . Ou seja, 0, 375(10) <> 0, 011(2) (neste caso particular obteve-se uma parte fraccion aria nita). A convers ao de um n umero na base b1 = 10 para a base b2 = 16 pode ser feita usando os mesmos algoritmos. Basta, para isso, obter os restos das divis oes por 16 e as partes inteiras das multiplica co es por 16. Contudo, existe um processo mais expedito que consiste em converter o n umero dado para a base 2, e em seguida convert e-lo para a base 16 utilizando o m etodo que iremos estudar j aa seguir.

1.2.2

Convers ao da base 2 para a base 16

Este processo de convers ao vem simplicado (n ao necessitamos de passar pela e uma pot encia da base b1 = 2. base 10) porque a base b2 = 16 Para percebermos o que est a em jogo, vamos estabelecer um paralelo entre cada d gito hexadecimal e o seu equivalente bin ario. Vamos ent ao escrever, na Tabela 1.2, essas equival encias (j a agora, inclu mos tamb em os equivalentes decimais). Como podemos constatar, cada d gito hexadecimal e formado sempre por sequ encias de 4 d gitos bin arios . Ent ao, no processo de convers ao para a base 16 basta-nos formar grupos de 4 bits a partir da v rgula do n umero bin ario, para a esquerda e para a direita, e escrever um d gito hexadecimal por cada grupo. Nos casos em que, ao fazermos os agrupamentos, restam grupos com menos do que 4 bits (nas posi co es mais signicativas e menos signicativas), preenchem-se esses agrupamentos com zeros n ao signicativos at e carem com 4 bits. Por exemplo, para converter 11110, 101(2) para a base 16 fazemos os agrupamentos 0001 0001 1 1110 1110 E , , , 1010 1010 A(16) e as correspond encias

de onde resulta que 11110, 101(2) = 1E, A(16) .

1.2.3

Convers ao da base 16 para a base 2

Este processo de convers ao e o oposto do anterior: o n umero na base 16 v e cada um dos seus d gitos decomposto em 4 bits. Por exemplo, se quisermos converter para bin ario o n umero 4A9, E(16) fazemos

10

CAP ITULO 1. SISTEMAS DE NUMERAC AO

Tabela 1.2: Equival encias entre os d gitos hexadecimais e as sequ encia de d gitos (n umeros) bin arios e decimais
D gito hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F N umero bin ario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 N umero decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

4 0100

A 1010

9 1001

, ,

E(16) 1110

de onde resulta que 4A9, E(16) = 10010101001, 111 (notar que se eliminaram os zeros n ao signicativos nas posi co es mais e menos signiticativas). claro que este m E etodo e v alido para qualquer convers ao em que b1 e b2 se relacionam por pot encias de 2. Por exemplo, para converter um n umero da base 4 para a base 2 decompomos cada d gito do n umero na base 4 em dois d gitos bin arios (porque 4 = 22 ). Identicamente, para converter um n umero da base 3 para a base 9 agrupamos cada conjunto de 2 d gitos do n umero na base 3 para formar um d gito na base 9 (porque 9 = 32).

1.2.4

Truncagens e arredondamentos

Vamos denir em seguida os crit erios de arredondamento da parte fraccion aria de um n umero, quando h a lugar a tal. Quando n ao se justicar fazer um arredondamento, truncamos a parte fraccion aria. Em primeiro lugar, nem sempre se torna necess ario arredondar a parte fraccion aria de um n umero. Por exemplo, se o n umero a representar for abstracto, sem conte udo f sico, pode n ao fazer sentido proceder ao seu arredondamento. Assim, uma representa c ao para o n umero com a parte fraccion aria reduzida a p d gitos s o faz sentido porque n ao queremos com ela encher v arias folhas

ENTRE BASES 1.2. CONVERSAO

11

de papel (nesses casos, o n umero p de casas fraccion arias e-nos imposto pela precis ao dos c alculos em que estiver envolvido). Pelo contr ario, se quisermos representar o resultado de uma medi c ao f sica, por exemplo da corrente el ectrica que, num dado momento, circula por um circuito electr onico de baixa pot encia, a precis ao da medi ca o vem naturalmente limitada pela precis ao do miliamper metro que a mediu. N ao faz sentido, nesse caso, inventar uma precis ao que n ao existe, inserindo d gitos na parte fraccion aria que n ao possuem conte udo f sico. Consideremos um exemplo: uma determinada medi ca o de corrente produziu um valor de 13,75 mA, ou seja, um resultado com uma precis ao de 1 unidade em 100 (1/100). A convers ao deste n umero decimal no seu equivalente numa base ao deve inventar precis ao. Quer isso dizer que b2 , qualquer que ela seja, n n ao devemos obter um resultado que, ap os convers ao, venha com uma precis ao superior a 1/100. Por exemplo, se convertermos o n umero 13, 75(10) para bin ario obtemos o n umero 1101, 11000 . Mas qual ser a a representa ca o bin aria correcta para 13, 75 mA? Se retivermos um d gito bin ario na parte fraccion aria, obtemos um resultado e, de 0,5 (inferior ` a precis ao do com uma precis ao de 1 unidade em 21 = 2, isto n umero original, que e igual a 1/100). Se retivermos dois d gitos bin arios na parte fraccion aria, obtemos um resultado com uma precis ao de 1 unidade em 22 = 4, isto e, de 0,25 (ainda inferior a ` precis ao do n umero original). E por a fora. Se agora retivermos 6 d gitos bin arios na parte fraccion aria, obtemos um resule, ainda inferior a ` precis ao tado com uma precis ao de 1 unidade em 26 = 64, isto do n umero dado. Mas se retivermos 7 d gitos bin arios na parte fraccion aria, obtemos um resultado com uma precis ao de 1 unidade em 27 = 128, e 1/128 e uma precis ao superior a ` que nos e dada . Ou seja, invent amos precis ao onde ela n ao existia. Segue-se que, com este exemplo, devemos apresentar 6 d gitos bin arios na parte fraccion aria, e 13, 75(10) mA <> 1101, 110000(2) mA. Neste exemplo n ao tivemos que arredondar o resultado (limit amo-nos a trunc a-lo), mas h a casos em que temos que o fazer. Isso e particularmente evidente quando o processo de convers ao gera uma parte fraccion aria innita ou innita peri odica; mas tamb em nos casos em que se obt em partes fraccion arias nitas pode-se justicar arredond a-las se, por motivos de precis ao, as quisermos com menos d gitos. Considere-se ent ao a representa ca o N(b) <> dq1 dq2 d1 d0 , d1 di di1 , do n umero N na base b. O problema do arredondamento da parte fraccion aria de um n umero consiste ca o do d gito di1. E essa em determinar o que fazer ao d gito di em fun decis ao vai ser diferente consoante as bases forem pares ou mpares. Nas bases pares divide-se b por 2, formando-se desta forma dois conjuntos de d gitos que designaremos por parte baixa e por parte alta. Por exemplo, na

12

CAP ITULO 1. SISTEMAS DE NUMERAC AO

Naturalmente, nos casos em que di n ao vem alterado h a truncagem em vez de arredondamento.

base 10 obtemos uma parte baixa com o conjunto de d gitos {0, 1, 2, 3, 4} e uma parte alta com o conjunto {5, 6, 7, 8, 9}. O crit erio de arredondamento e, ent ao, o seguinte: se o d gito di1 estiver contido na parte baixa, di n ao vem alterado; no caso contr ario, soma-se uma unidade a di. Por exemplo, o n umero 0, 997(10) vem arredondado para 1, 00(10) se quisermos reter duas casas decimais (notar como a soma de uma unidade ao 9 na casa das cent esimas se propagou at ea `s unidades ). Da mesma forma, o n umero 111, 11110(2) vem arredondado para 1000, 000(2) se quisermos reter tr es casas na parte fraccion aria (a soma de uma unidade ao 1 com peso 23 propaga-se para a parte inteira). Nas bases mpares, ao dividir-se b por dois obt em-se duas partes com igual n umero de d gitos, tal como acontece com as bases pares, mas obt em-se ainda um d gito que ca de fora. Por exemplo, para uma base b = 5 obt em-se uma parte baixa com o conjunto de d gitos {0, 1} e uma parte alta com o conjunto {3, 4}, sobejando o d gito {2}. gito di1 estiver O que se faz nestes casos e n ao alterar o d gito di se o d contido na parte baixa, e somar uma unidade a di nos outros dois casos, Por em arredondados para 302, 03(5) exemplo, os n umeros 302, 024(5) e 302, 022(5) v se quisermos reter duas casas na parte fraccion aria, enquanto que o n umero 302, 021(5) vem truncado para 302, 02(5) nas mesmas condi co es.

1.3
1.3.1

Aritm etica Bin aria


Adi c oes na base 2 e noutras bases

Consideremos o seguinte exemplo de adi ca o: 435(10) + 389(10) = 824(10). Pretendemos, com o exemplo, deduzir o algoritmo da adi ca o nesta base. Esquematicamente temos:
3 2 1

colunas

4 3 5 3 8 9 8 2 4

Algoritmo da adi c ao

Transporte na adi c ao

Come ca-se pela coluna 1 (da direita). Se o resultado da adi ca o nessa coluna n ao exceder o valor b = 10, o resultado vem colocado nessa coluna, sem altera ca o. Se o resultado da adi ca o nessa coluna for igual a, ou exceder, o valor b = 10, o que se coloca nessa coluna e a diferen ca entre o valor produzido e b, gerando-se, ent ao, um transporte, C , para a coluna seguinte (a designa ca o C vem da palavra em ingl es Carry). Passa-se em seguida a ` coluna 2, onde se repete a opera ca o anterior, somando ainda o transporte proveniente da coluna 1, se existir. E o mesmo acontece com as restantes colunas. No nosso exemplo a adi ca o na primeira coluna produziu um transporte,

1.3. ARITMETICA BINARIA

13

Tabela 1.3: Tabela da adi ca o no sistema bin ario


Adi ca o bin aria

+ 0 1

0 0 1

1 1 10

coluna

+ 1

5 9 4

C =1

e na coluna 2 tivemos de adicionar esse transporte aos operandos na coluna, gerando um novo transporte,
2

coluna

+ 1

1 3 8 2

C =1

O algoritmo da adi ca o bin aria e em tudo semelhante ao da adi c ao no sistema decimal (e, de facto, ao da adi ca o em qualquer sistema de numera ca o posicional), excepto que se utiliza b = 2 em vez de b = 10. Come ca-se, ent ao, pela coluna da direita, vindo o resultado da adi c ao colocado ainda nessa coluna. Desde que n ao exceda o valor b = 2, como por exemplo em + 1 0 1(2)

o resultado vem colocado nessa coluna, sem altera ca o (para efectuar a adi ca o bin aria, consultar a Tabela 1.3, que cont em a opera ca o de adi ca o bin aria de dois operandos com um bit cada um). Se o resultado da adi ca o for igual a, ou exceder, o valor b = 2, haver a que colocar nessa coluna o valor da diferen ca entre o valor produzido e b, gerando-se, ent ao, um transporte para a coluna seguinte. Por exemplo, 1(2) + 1(2) d a um valor e igual a b = 2. Ent ao, o que se coloca nessa coluna e a 10(2), ou 2(10), que diferen ca entre o valor 2(10) que se produziu e o valor b = 2, obtendo-se 0 e um transporte C = 1: 1 1 0(2)

+ 1

C =1

14

CAP ITULO 1. SISTEMAS DE NUMERAC AO

Tabela 1.4: Tabela da adi ca o no sistema hexadecimal


Adi ca o hexadecimal

+ 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 0 1 2 3 4 5 6 7 8 9 A B C D E F

1 1 2 3 4 5 6 7 8 9 A B C D E F

2 2 3 4 5 6 7 8 9 A B C D E F

3 3 4 5 6 7 8 9 A B C D E F

4 4 5 6 7 8 9 A B C D E F

5 5 6 7 8 9 A B C D E F

6 6 7 8 9 A B C D E F

7 7 8 9 A B C D E F

8 8 9 A B C D E F

9 9 A B C D E F

A A B C D E E 10

B B C D E F 10 11 12 13 14 15 16 17 18 19

C C D E F 10 11 12 13 14 15 16 17 18 19

D D E F 10 11 12 13 14 15 16 17 18 19

E E F 10 11 12 13 14 15 16 17 18 19

F F 10 11 12 13 14 15 16 17 18 19 1A

10 11

10 11 12

10 11 12 13

10 11 12 13 14

10 11 12 13 14 15

10 11 12 13 14 15 16

1A 1B 1C 1D

10 11 12 13 14 15 16 17

1A 1B 1C

10 11 12 13 14 15 16 17 18

1A 1B

10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

O valor do transporte que for gerado e adicionado aos valores da coluna imediatamente a ` esquerda, e o algoritmo prossegue de forma id entica para todas as colunas. Por exemplo, para efectuar a adi ca o 1111(2) + 101(2) fazemos
4 3 2 1

colunas

+ 1 De notar que

1 1 1 1 1 0 1 0 1 0 0

1111(2) 101(2) 10100(2)

<> <> <>

15(10) 5(10) 20(10) .

De notar ainda que na coluna 3 se procedeu a ` adi ca o de tr es unidades, gerando uma soma igual a 1 e um transporte C = 1. No sistema hexadecimal utilizamos ainda o mesmo algoritmo da adi ca o. Naturalmente, teremos agora que saber adicionar dois d gitos hexadecimais, para o que utilizamos a Tabela 1.4. Vamos ver, com alguns exemplos, como se constroi esta tabela.

1.3. ARITMETICA BINARIA

15

e a mesma que 4(10) + 9(10), o que d a 13(10). Por exemplo, a adi ca o 4(16) + 9(16) nico d gito na base 16, o d gito D(16), que e menor Mas 13(10) corresponde a um u do que a base b = 16. Logo, o resultado da soma 4(16) + 9(16) d a D(16) e n ao gera transporte. Notemos como fazemos o racioc nio na base 10, porque estamos habituados a raciocinar nesta base (mas pod amos raciocinar numa base qualquer ). Ainda um outro exemplo: 6(16) + D(16). Como D(16) = 13(10), fazemos: 6(16) + D(16) = 6(10) + 13(10) = 19(10) . c ao 19(10) Como 19(10) > 16(10), devemos reter o que resultar da subtrac 16(10) = 3(10) <> 3(16) e gerar um transporte. Logo, 6(16) + D(16) = 13(16). Passemos agora a ` adi ca o de dois n umeros na base 16, por exemplo 4A57(16) + + D293(16). Faz-se: 4 D 1
1 0

+ 1

A 2 C
0

5 9 E
0

7 (16) 3 (16) A (16)

1.3.2

Subtrac c oes na base 2 e noutras bases


Algoritmo da subtrac c ao Aditivo e subtractivo

O algoritmo da subtrac ca o pode resumir-se ao seguinte: se numa coluna i, qualquer, o aditivo for maior do que o subtractivo, o resultado da subtrac ca o vem na coluna i, sem altera ca o. No caso contr ario, soma-se a base ao aditivo e coloca-se na coluna i o resultado da diferen ca entre este valor e o subtractivo , gerando-se um transporte para a coluna i + 1. Assim, por exemplo, 2 3 (10) 8 (10) 1 5 (10) fazendo-se a diferen ca (b + 3) 8 = (10 + 3) 8 = 5 na coluna mais a ` direita e gerando-se um transporte igual a 1 para a coluna imediatamente a ` esquerda. De id entica forma, no sistema bin ario faz-se, por exemplo, 1 0 (2) 1 (2) 0 1 (2) ou seja, faz-se a diferen ca (b + 0) 1 = (2 + 0) 1 = 1 e gera-se um transporte. Por exemplo, para efectuar a subtrac ca o 1001101(2) 10111(2) fazemos:

Transporte na subtrac ca o

16
7 6

CAP ITULO 1. SISTEMAS DE NUMERAC AO


5 4 3 2 1

colunas

1 -

0 1

0 1 1
1 0

1 0 0
1

1 1 1
1

0 1 1
0

1 1 0

Neste exemplo n ao e gerado transporte da coluna 1 para a coluna 2. Por em, na coluna 2 e gerado um transporte (1 para 2 igual a 1, com transporte igual a 1) para a coluna 3. Esse transporte e adicionado, na coluna 3, ao subtractivo (1 + 1 = 2, isto e, 0(2) e transporte 1) que depois e subtra do do aditivo (0 para 1 igual a 1, mantendo-se o transporte). De forma id entica se procederia com as colunas 4 a 7. Na base 16 temos o mesmo algoritmo. Por exemplo, para efectuar 9F1B(16) 4A36(16) faz-se:
4 3 2 1

colunas

9 4 5
0 0

F A 4
1

1 3 E
0

B (16) 6 (16) 5
(16)

De notar, na coluna 2, que se faz 3(10) para 17(10), o que d a 14(10) <> E(16) , gerando-se um transporte igual a 1. De notar ainda que, na coluna 3, se faz a 11(10); 11(10) para F(16) <> 15(10) d a A(16) = 10(10) mais o transporte 1 d 4(10) <> 4(16), gerando-se um transporte nulo. de notar que este algoritmo produz um resultado incorrecto quando o subE tractivo e maior que o aditivo. Com efeito, a aplica ca o do algoritmo nestas situa co es produz um transporte que se vai propagar indenidamente a partir de uma coluna i e sucessivamente para as colunas i +1, i +2, etc. como no seguinte exemplo 1 0 0
0 1

1
1

1
1

1 1

0 1 1
0

1 1 0

(2) (2) (2)

Este problema s o vem resolvido quando estudarmos os n umeros com sinal e, em particular, quando se apresentar a representa ca o em complemento para 2, na Subsec ca o 1.4.2.

1.3.3

Multiplica c ao na base 2 e noutras bases

O produto de dois n umeros numa base arbitr aria vai, mais uma vez, obedecer ao algoritmo da multiplica c ao. Por exemplo, na base b = 10 temos

1.3. ARITMETICA BINARIA

17

Tabela 1.5: Tabela da multiplica ca o no sistema bin ario


Multiplica ca o bin aria

0 1

0 0 0

1 0 1

1 3 3 4 1 6

5 2 7 4 1

7 3 1 1

(10) (10)

(10)

Notemos que agora podemos ter transportes maiores do que a unidade. Por exemplo, 1 4
1

5 7
2

7 3 1

(10) (10)

Da mesma forma, na base b = 2 podemos multiplicar dois n umeros desde que conhe camos a tabela de multiplica ca o de dois d gitos nessa base (Tabela 1.5). Por exemplo, 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1
(2) (2) (2)

1 1

0 1

Notemos como e f acil a multiplica ca o nesta base. Como cada d gito do multiplicador s o pode ser 0 ou 1, a multiplica ca o desse d gito pelo multiplicando s o pode dar o pr oprio multiplicando ou uma linha com zeros. Para a multiplica ca o na base b = 16 precisamos de conhecer a respectiva tabela (Tabela 1.6). Vejamos como deduzir uma posi ca o desta tabela (sabendo-se deduzir uma, pode deduzir-se a tabela toda). Por exemplo, consideremos o produto C(16) B(16) = 84(16). A melhor forma de obter este resultado e raciocinar em decimal, como zemos para as adi co es e para

18

CAP ITULO 1. SISTEMAS DE NUMERAC AO

Tabela 1.6: Tabela da multiplica ca o no sistema hexadecimal


Multiplica ca o hexadecimal

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 0 0 0 0 0 0 0 0 0 0

1 0 1 2 3 4 5 6 7 8 9

2 0 2 4 6 8 A C E 10 12 14 16 18

3 0 3 6 9 C F 12 15 18 1B 1E 21 24 27

4 0 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38

5 0 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46

6 0 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54

7 0 7 E 15 23 31 38 3F 46 54 62 69

8 0 8 10

9 0 9 12 24 36 48 51 63 75 87

A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 96

B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F

C 0 C 18 24 30 3C 48 54 60 6C 78 84 90

D 0 D 27 34 41 4E 5B 68 75 82 8F

E 0 E

F 0 F 1E 3C 4B 5A 69 78 87 96

1A 1C 38 46 54 62 70 7E 8C

18 1B 28 2D 38 3F 40 48

2A 2D

1C 20 2A 30

0 A 0 B 0 C 0 E 0 F

50 5A 60 6C 70 7E 78

4D 58 5B 68

9A A5

9C A8 B4 4 D2

0 D 1A

9C A9 B6 C3

1C 2A

8C 9A A8 B6

1E 2D 3C 4B 5A

A5 B4 C3 D2 E1

as subtrac co es. Assim, C(16) <> 12(10) e B(16) <> 11(10). Ora 12(10) 11(10) = = 132(10). Convertendo agora para hexadecimal obtemos 132(10) = 128(10) + 4(10) = 8(10) 16(10) + 4(10) <> 84(16) . Agora, multiplicar dois n umeros hexadecimais e simples. Por exemplo, 5 7 C 2 A (16) 1 D 0 (16) 2

4 5 5 A C 2 9

2 8

E 2 2 A 6 6 C

2 8 F Com efeito, reparemos como 5 4


4

2 0

(16)

C E
9 2

2 2
8

A D 2

(16) (16) (16)

ou como

1.4. NUMEROS COM SINAL 4 5 5 F


0 1

19 A C 2 9
1

2 2
0

8 8

E 2 6 6
0

2 A C
0

(16)

(16)

1.4
1.4.1

N umeros com Sinal


Nota c ao de sinal e m odulo

A representa ca o de n umeros reais tem de ter em conta que os n umeros podem ser positivos, negativos ou o n umero 0. Num sistema digital, um n umero e sempre representado com um determinado n umero de bits, o comprimento do n umero, que corresponde ao n umero de bits dos registos onde o n umero e armazenado e ao n umero de bits dos circuitos que processam os n umeros. Suponhamos, para simplicar, e a titulo de exemplo, que o comprimento e de 4 bits. Uma primeira ideia consiste em representar o n umero em m odulo e sinal. O m odulo j a n ao nos oferece diculdade, mas n ao eo bvio como podemos representar o sinal. A forma mais evidente e reservar um bit para o sinal e denir, por exemplo, que se esse bit for 0 o n umero e positivo e se for 1 e negativo. Com quatro bits podemos, ent ao, representar os n umeros inteiros que se indicam na Tabela 1.7. Esta forma de representar n umeros inteiros e uma das formas poss veis. Tem, por em, alguns inconvenientes. Em primeiro lugar, repare-se que existem duas representa c oes para o n umero 0, o que pode originar problemas. Em segundo lugar, quando e necessario fazer opera co es sobre os n umeros assim representados, e necessario processar de forma diferente o m odulo e o sinal, e e ainda necess ario escolher a opera ca o a realizar em termos da opera c ao desejada e do sinal dos n umeros. Por exemplo, se pretendermos fazer a opera c ao (+5) + (3), o que e realmente necess ario fazer e a subtrac ca o 5 3, cando o sinal positivo. Se o problema for realizar (5) + (+3), ent ao h a que realizar tamb em uma subtrac ca o mas do m odulo do n umero negativo menos o do positivo, sendo o resultado um n umero negativo. Obviamente, tudo isto complica signicativamente os circuitos l ogicos que realizam a opera ca o de soma (e tamb em os que realizam a subtrac ca o).
Representa ca o de um n umero em m odulo e sinal Bit de sinal

1.4.2

Nota c ao de complemento para 2

Seria interessante se pud essemos representar os n umeros de tal forma que fosse poss vel realizar as opera co es de soma e de subtrac ca o sempre da mesma forma,

20

CAP ITULO 1. SISTEMAS DE NUMERAC AO

Tabela 1.7: N umeros com 4 bits representados em m odulo e sinal


Representa ca o 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 N umero representado +0 +1 +2 +3 +4 +5 +6 +7 0 1 2 3 4 5 6 7

independentemente de os n umeros serem positivos ou negativos. E isso e poss vel utilizando a representa ca o em complemento para 2.
Complemento para 2 de um n umero

Comecemos por perceber o que e o complemento para 2 de um n umero. Ou, mais correctamente, o complemento para 2n. Designa-se por complemento para umero x com n bits o resultado da opera ca o 2n x. Obtemos, desta 2n de um n forma, o sim etrico de x. e Por exemplo, o complemento para 24 de 0101 1 0 0 1 0 1 0 0 0 1 0 1 1

O n umero 1011 e, ent ao, o complemento para 24 ou, mais simplesmente, o complemento para 2 de 0101. Repare-se que, se o n umero x tem n bits, o seu complemento para 2 e representavel de igual modo com n bits. o E bvio que o complemento para 2 do complemento para 2 de um n umero x e x, j a que 2n (2n x) = x. Assim, o complemento para 2 de 1011 e, como se pode vericar, 0101. Uma forma mais expedita de obter o complemento para 2 de um n umero consiste, como se poder a vericar, em complementar (negar) todos os bits do n umero e somar-lhe 1. Novamente, tomando como exemplo o n umero 5 (0101),

1.4. NUMEROS COM SINAL

21

pode obter-se o complemento para 2 de 5 negando-o (1010) e somando-lhe 1 (1011), o que vem dar o mesmo resultado que vimos atr as. Ainda uma terceira forma para obter o complemento para 2 de um n umero utiliza o seguinte algoritmo: percorre-se a representa ca o do n umero a complementar, desde o bit menos signicativo at e ao mais signicativo. Por cada 0 que se encontra, reproduz-se esse 0. Quando se encontrar o primeiro 1, tamb em se reproduz. A partir da , trocam-se os 0s com os 1s. Por exemplo, o complemento para 2 do n umero negativo 1011101100 e o n umero positivo 0100010100: 1011101 0100010 trocamse 100 100 copiamse

e o complemento para 2 do n umero positivo 0100010100 e o n umero negativo 1011101100: 0100010 1011101 trocamse 100 100 copiamse

Na nota c ao de complemento para 2, os n umeros s ao tamb em representados de forma a que um dos bits (o mais signicativo) represente o sinal. Tal como na representa ca o em m odulo e sinal, o bit a 0 indica que o n umero e positivo, e a 1 indica que o n umero e negativo. Portanto, com n bits para representar um n umero, sobram n 1 bits para al em do sinal para representar, de alguma forma, o m odulo do n umero (veremos j a adiante que isso n ao e completamente verdade). Na representa c ao em complemento para 2 de um n umero positivo x, o n umero e representado pelo seu m odulo. Por exemplo, o n umero +5(10) e representado, ndice em nota ca o de complemento para 2 com 4 bits, como 0101(C2), em que o referencia este modo de representa ca o, ou nota ca o (a nota ca o de complemento para 2). Na representa ca o em complemento para 2 de um n umero negativo, o n umero x e representado pelo complemento para 2 de x. Por exemplo o n umero 5(10) e representado, em nota ca o de complemento para ca o do complemento para 2 de um 2, por 1011(C2). Repare-se que a determina n umero deixa j a o bit de sinal do n umero sim etrico com o valor correcto. A representa ca o dos 16 n umeros possiveis em complemento para 2 com 4 bits vem ilustrada na Figura 1.1. Como e natural, o n umero de n umeros represent aveis com n bits e de 2n. Como n1 n1 , +2 1], no nosso se pode ver da gura, o intervalo representado e [2 caso [8, +7]. A raz ao da assimetria entre o n umero de positivos e o de negativos

Bit mais signicativo N ao confundir a representa ca o de um n umero em nota c ao de complemento para 2 com a obten ca o do complemento para 2 de um n umero. A representa c ao de +5 em complemento para 2 com 4 bits e 0101; o complemento para 2 de +5 e o seu sim etrico, 5, que se representa por 1011 em nota ca o de complemento para 2. Representa ca o de um n umero em complemento para 2

22

CAP ITULO 1. SISTEMAS DE NUMERAC AO


0 (0000) 1 (1111) 2 (1110) 3 (1101) 4 (1100) 5 (1011) 6 (1010) 7 (1001) 8 (1000) +1 (0001) +2 (0010) +3 (0011) +4 (0100) +5 (0101) +6 (0110) +7 (0111)

Figura 1.1: Os 16 n umeros possiveis em complemento para 2 com 4 bits radica na necessidade de representar o 0 e de n ao ter duas representa co es para ele. Com esta representa ca o, pode operar-se sobre os n umeros sem que o sinal de cada um deles receba qualquer esp ecie de tratamento particular, ou, se quisermos, o bit de sinal e tratado da mesma forma que todos os outros .
Adi c ao em complemento para 2

Estudemos alguns exemplos de adi co es nesta nota ca o. meros positivos: (+2) + (+5) = +7. Soma de dois nu 0 0 0 0 1 1 1 0 1 0 1 1
(C2) (C2) (C2)

Os dois n umeros est ao representados em complemento para 2, tal como a sua soma. meros negativos. (2) + (5) = 7. Soma de dois nu A soma realiza-se normalmente somando os n umeros bit a bit. 1 1 1 1 0 0 1 1 0 0 1 1
(C2) (C2) (C2)

+ 1

O resultado tem um transporte que n ao consideraremos por sair fora dos n bits (4, neste caso) da representa ca o. O resultado est a certo: 7(10) <> 1001 (C2). mero positivo com um nu mero negativo, com resulSoma de um nu tado positivo. (+5) + (3) = +2. 0 1 0 1 1 0 0 0 1 1 1 0
(C2) (C2) (C2)

+ 1

1.4. NUMEROS COM SINAL

23

Mais uma vez ignoramos o transporte por estar fora da nossa capacidade de representa ca o. O resultado esta certo. mero positivo com um nu mero negativo, com resulSoma de um nu tado negativo. (+2) + (5) = 3. 0 1 1 0 0 1 1 1 0 0 1 1
(C2) (C2) (C2)

Como se pode ver, o resultado est a correcto: 3(10) <> 1101

(C2) .

Como e evidente, se somarmos dois n umeros do mesmo sinal pode ocorrer um resultado que n ao e representavel com o n umero de bits dispon vel. Por exemplo, se somarmos (+4) + (+5) = +9, o n umero +9 n ao e representavel com 4 bits em nota ca o de complemento para 2. Por isso, o resultado e incoerente: 0 0 1 1 1 0 0 0 0 0 1 1
(C2) (C2) (C2)

De acordo com a nossa metodologia, a soma daria 7 o que e, como se disse, incoerente. Houve overow na adi ca o em complemento para 2. Sempre que somarmos dois n umeros positivos e o resultado pare ca ser um n umero negativo, ou inversamente, estamos perante uma situa ca o de overow na adi ca o em complemento para 2. Repare-se na Figura 1.2 o signicado de uma soma. A nossa soma anterior de +2 com +5 signica a rota ca o no anel representado na Figura 1.1, de +5 posi co es (no sentido dos ponteiros do rel ogio) a partir da posi ca o +2.
0 (0000) 1 (1111) 2 (1110) 3 (1101) 4 (1100) 5 (1011) 6 (1010) 7 (1001) 8 (1000) +1 (0001) +2 (0010) +3 (0011) +4 (0100) +5 (0101) +6 (0110) +7 (0111)

Overow na adi c ao em complemento para 2 De notar que a exist encia de um transporte para o exterior numa adi c ao de n umeros sem sinal e condi ca o suciente para concluirmos ter havido overow na adi c ao.

Figura 1.2: Representa ca o gr aca da soma (+2) + (+5) = +7, com n umeros de 4 bits representados em nota ca o de complemento para 2 Vejamos agora o que acontece com a soma de (+4)+(+5) na Figura 1.3: parte-se do +4 e roda-se +5 posi co es no sentido do ponteiro do rel ogio.

24

CAP ITULO 1. SISTEMAS DE NUMERAC AO


0 (0000) 1 (1111) 2 (1110) 3 (1101) 4 (1100) 5 (1011) 6 (1010) 7 (1001) 8 (1000) +1 (0001) +2 (0010) +3 (0011) +4 (0100) +5 (0101) +6 (0110) +7 (0111)

Figura 1.3: Representa ca o gr aca da soma (+4) + (+5) = 7 (?), com n umeros de 4 bits representados em nota ca o de complemento para 2. Esta opera c ao produziu overow Repare-se que agora ultrapass amos o limite de representa ca o da nota ca o de complemento para 2 com 4 bits, e entr amos pelo outro lado. E passamos, portanto, a n umeros com o sinal contr ario, o que signica que houve overow.. Como e evidente, nunca ocorre overow somando n umeros de sinais contr arios. Pode-se provar que o overow ocorre sempre que o transporte do u ltimo bit e diferente do transporte do bit anterior, como acontece em: 0 0 1
0 1

1 1 0

0 0 0

0 1 1

(C2) (C2) (C2)

Subtrac ca o em complemento para 2

A utiliza ca o de n umeros representados em complemento para 2 permite realizar subtrac co es de forma muito simples. Como se sabe, realizar a subtrac ca o x y e o mesmo que realizar a soma x + (y). Por outro lado, dado um n umero y representado em nota ca o de complemento para 2, obter o seu sim etrico, isto e, o n umero y, na mesma nota ca o, signica, na pr atica, obter o complemento para 2 de y. Ou seja, podemos utilizar os mesmos circuitos para fazer somas e subtrac co es em complemento para 2, ao contr ario do que sucede se os n umeros estiverem representados em sinal e m odulo. Com efeito, o complemento para 2 de um n umero representado em complemento para 2 pode ser efectuado trocando os 0s com os 1s o que e f acil de fazer num circuito apropriado, como veremos a ` frente neste curso e adicionando 1, o que pode ser feito com o somador que, de qualquer forma, e necess ario para fazer as somas. Do ponto de vista gr aco, a subtrac ca o x y pode ser realizada rodando, no anel da Figura 1.1 a partir do n umero x, de y posi co es no sentido contr ario ao dos ponteiros do rel ogio. Por exemplo, na Figura 1.4 est a ilustrada a subtrac ca o (+2) (+5) = 3.

1.5. REFERENCIAS BIBLIOGRAFICAS


0 (0000) 1 (1111) 2 (1110) 3 (1101) 4 (1100) 5 (1011) 6 (1010) 7 (1001) 8 (1000) +1 (0001) +2 (0010) +3 (0011) +4 (0100) +5 (0101) +6 (0110) +7 (0111)

25

Figura 1.4: Representa ca o gr aca da subtrac c ao (+2) (+5) = 3, com n umeros de 4 bits representados em nota ca o de complemento para 2 Esta subtrac ca o n ao produziu overow porque n ao ultrapass amos o limite de representa ca o da nota ca o de complemento para 2 com 4 bits (n ao entr amos pelo outro lado, gerando n umeros com o sinal contr ario).
Overow na subtrac ca o em complemento para 2

1.5

Refer encias Bibliogr acas

S erro, Carlos Sistemas Digitais: Fundamentos Alg ebricos, IST Press, Lisboa, 2003, Sec co es 1.1, 1.2, e 1.4 a 1.7. Arroz, G. S., Monteiro, J. C. e Oliveira, A. L. Introdu ca o aos Sistemas Digitais e Microprocessadores, Sec c oes 2.1 e 2.2. Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 1.1 a 1.3.

1.6

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. () 1.1 Escrever os seguintes n umeros em forma polinomial: a) d) g) 23(10); 36(8); 1 023, 003(4). b) e) 4 087(10); E5, 3(16); c) f) 39, 28(10); 255, 6(7);

1.2 Passar para a base 10 os seguintes n umeros: a) d) g) 437(8); 0, 46(7); a32b, 5a(12). b) e) 325(6); 10101, 100101(2); c) f) 0, 245(8); A2D, 9A(16);

26

CAP ITULO 1. SISTEMAS DE NUMERAC AO

1.3 Escreva as representa co es bin aria e hexadecimal de: a) 25, 25(10); b) 212, 5(10); c) 4, 9875(10). () 1.4 Determinar as bases b e c em: a) 5A(16) = 132(b); b) 20(10) = 110(c). 1.5 Passe a) b) c) 1.6 Passe a) b) c) para as bases 4, 8 e 16 os seguintes n umeros: 1101101, 1001101(2); 10111110, 00001111(2); 111010, 01111(2). para a base 2 os seguintes n umeros: 2031, 123(4); 432, 56(8); EA2, F5(16).

1.7 Passe para a base 3 os seguintes n umeros: a) 585(9); b) 467, 3(9). 1.8 Converter o n umero 257(10) para as bases 8 e 16, directamente e atrav es da base 2. e 215. 1.9 Escrever as pot encias de 2 desde 24 at () 1.10 O resultado da leitura do valor de uma tens ao el ectrica e de 25,76 V. Representar em bin ario esse valor. 1.11 Em que bases pode estar escrito o n umero 3A2, B7 (b)? 1.12 Escrever a tabela de multiplica ca o na base 5 e utiliz a-la para calcular ao utilizar a base 10 como intermedi aria. directamente 34(5) 23(5). N () 1.13 A primeira expedi ca o a Marte provou a exist encia de civiliza co es inteligentes no planeta vermelho porque descobriu, gravada numa rocha, a equa ca o 5 x2 50 x + 125 = 0 , bem como as respectivas solu co es, x1 = 5 e x2 = 8. O valor x1 = 5 pareceu razo avel aos elementos da expedi ca o, mas a outra solu ca o indicava claramente que os marcianos n ao utilizavam, como n os, o sistema decimal de contagem (talvez porque n ao possu ssem 10 dedos nas m aos). Quantos dedos acha que os marcianos tinham nas m aos? Justique. () 1.14 Como sabe do exerc cio anterior, a primeira expedi ca o a Marte provou a exist encia de antigas civiliza co es inteligentes no planeta vermelho. Uma das descobertas mais importantes consistiu em perceber que os marcianos usavam um sistema de numera ca o com 13 s mbolos, incluindo os s mbolos . Por 0 a 9, tal como n os usamos na Terra, e ainda os s mbolos, c , e L outro lado, conseguiu-se provar que os marcianos conheciam as opera co es aritm eticas de adi ca o e de subtrac ca o. Tendo a expedi ca o terrestre encontrado o seguinte fragmento de uma opera ca o de adi ca o gravada numa rocha,

1.6. EXERC ICIOS 9 3 5 L 4 c + 9 L c 9 6 42 3

27

decidiu enviar esse fragmento para a Terra para ser decifrado (os espa cos em branco correspondem a s mbolos que n ao se conseguiram ler). Refa ca a adi ca o preenchendo os fragmentos da opera ca o que n ao puderam ser recuperados pela expedi ca o terrestre, e diga quais os valores que descobriu . para os s mbolos c , e L 1.15 Representar, em nota ca o de sinal e m odulo com 6 bits, os n umeros decimais +24, 24, +57, 75 e 3, 625. 1.16 Qual e a capacidade de representa ca o da nota ca o de sinal e m odulo (o intervalo dentro do qual e poss vel representar, nesta nota ca o, um n umero com n bits)? 1.17 Obter o complemento para 2 dos n umeros bin arios 00001110101 e 1111111101, representados em nota ca o de complemento para 2. 1.18 Qual e o n umero decimal que e equivalente aos n umeros bin arios 00001110101 e 1111111101, representados em nota ca o de complemento para 2? 1.19 Representar, em nota ca o de complemento para 2 com 10 bits, os n umeros decimais +65 e 5. () 1.20 Representar os n umeros decimais +5, 5, +54 e 54 em nota ca o de complemento para 2 com: a) 4 bits; b) 5 bits; c) 6 bits; d) 7 bits; e) 10 bits; f) 15 bits. 1.21 Realizar, em nota ca o de complemento para 2 com 10 bits, as seguintes somas decimais: a) (+65) + (+5); b) (+65) + (5); c) (65) + (+5); d) (65) + (5). 1.22 A soma decimal (+30) + (+5), realizada em nota ca o de complemento para 2 com 6 bits, produz overow? E a soma (17) + (21), realizada nas mesmas circunst ancias? Justique. () 1.23 Provar que a subtrac ca o 110010 (C2) 110110 (C2) de dois n umeros representados em nota ca o de complemento para 2 pode ser substitu da pela soma 110010 (C2) + 001010 (C2) do aditivo com o complemento para 2 do subtractivo. 1.24 A subtrac ca o decimal (30) (+5), realizada em nota ca o de complemento para 2 com 6 bits, produz overow? E a subtrac ca o (+17) (21), realizada nas mesmas circunst ancias? Justique.

28

CAP ITULO 1. SISTEMAS DE NUMERAC AO

Cap tulo 2

C odigos
2.1 Conceito de C odigo

Quando queremos representar informa ca o bin aria s o podemos recorrer aos s mbolos (bits) 0 e 1, como sabemos. Mas representar informa ca o num erica em bin ario e apenas uma parte da realidade, sendo que tamb em e necess ario arranjar um meio de representar informa c ao n ao num erica, como seja informa ca o alfab etica (letras mai usculas e min usculas, acentuadas ou n ao, s mbolos de pontua ca o, s mbolos de controlo, etc.). Tal faz-se recorrendo a c odigos bin arios, que mais n ao s ao do que maneiras de representar com 0s e 1s toda a informa ca o que se enumerou acima. Para tal, estabelecem-se palavras do c odigo bin ario com um n umero adequado de bits e em n umero suciente para representar toda a informa ca o que queremos. Naturalmente, desta forma podemos estabelecer um elevad ssimo n umero de c odigos bin arios, e nem todos apresentam o mesmo interesse. Assim sendo, faz sentido come carmos por estabelecer uma taxonomia que tente agrupar os c odigos mais interessantes em grupos distintos. Existem, assim, duas grandes classes de c odigos, a dos c odigos num ericos e a dos c odigos alfanum ericos, que estudaremos mais a ` frente.
C odigo bin ario

2.2

C odigos Num ericos

Um exemplo ajudar-nos- a a compreender alguns conceitos ligados aos c odigos em geral, e aos c odigos num ericos em particular. Suponhamos que quer amos desenvolver um sistema digital para controlar o elevador de um pr edio com r/c, duas caves e tr es andares. Como temos 6 possibilidades distintas de representar e individualizar os 6 pisos do pr edio, precisamos de come car por escrever um c odigo num erico com 6 palavras distintas, uma por cada piso a que o elevador tem acesso. Ou seja, vamos estabelecer uma correspond encia biun voca entre cada um dos pisos e um conjunto de bits por piso, diferente para cada um deles, e que constitui uma palavra do c odigo. Naturalmente, a primeira pergunta que nos ocorre e sobre o comprimento das 29

Palavra

Comprimento de uma palavra

30

CAP ITULO 2. CODIGOS

C odigo regular

palavras, isto e, o n umero de bits por palavra. Embora teoricamente cada palavra possa ter um comprimento diferente do de todas as outras, vamos limitar-nos apenas aos chamados c odigos regulares, em que todas as palavras do c odigo t em o mesmo comprimento. No caso do elevador, as palavras do c odigo t em que ter um comprimento adequado. Como temos 6 possibilidades distintas, bastam-nos 3 bits para compri claro que, nestas condi mento de cada uma das palavras. E co es, apenas vamos utilizar 6 das 8 combina co es poss veis. A u nica restri ca o que necessitamos de ter presente e que n ao devemos codicar dois pisos com a mesma palavra, naturalmente para evitar confus oes. Deste modo, j a estabelecemos o n umero de palavras (6) e o comprimento de cada palavra (3) para o nosso sistema de controlo do elevador. E estamos agora 8 = 28 c odigos poss veis, um que sirva os em posi ca o de escolher, de entre os C6 nossos prop ositos. Por exemplo, o c odigo 2a cave 000 1a cave r/c o 1 andar 2o andar 001 010 011 100

3o andar 101 serve. Reparemos que o form amos como se estivessemos a escrever n umeros com 3 bits cujos equivalentes decimais fossem desde 0 at e 5. Geramos, desta forma, um c odigo bin aio natural ou CBN, com palavras de comprimento 3. Mas pod amos escolher outro c odigo, por exemplo, 2a cave 1a cave r/c o 1 andar 000 001 011 010

2o andar 110 3o andar 111 Agora temos um c odigo em que palavras consecutivas apenas diferem num bit. Dizemos, neste caso, que estamos em presen ca de um c odigo bin ario reectido ou CBR, com palavras de comprimento 3 (neste caso um CBR incompleto, como veremos mais a ` frente). Nestes dois c odigos escolhemos palavras com um comprimento m nimo de 3 bits. Por em, ningu em nos obriga a escolher o comprimento m nimo: podemos usar comprimentos maiores. Escolhamos um comprimento de 4 bits, por exemplo, e

2.3. CODIGO BINARIO NATURAL (CBN) o c odigo 2a cave 0000 1a cave 0001 r/c 0010 1o andar 0011 2o andar 0100 3o andar 0101

31

Mais uma vez, estamos a gerar um c odigo bin ario natural, desta vez com palavras de comprimento 4 Dado que estamos a usar, neste caso, palavras com um comprimento maior do que o estritamente necess ario, o c odigo diz-se redundante. A redund ancia confere ao c odigo alguma capacidade de detec c ao de erros e, eventualmente, tamb em de correc c ao de erros. Por exemplo, se alguma vez constatarmos que o elevador se encontra num piso codicado com 1111, que n ao e palavra do c odigo, claramente existe um erro, que pode em seguida ser ou n ao corrigido consoante a capacidade de correc ca o de erros que conferirmos ao sistema que processa as palavras.
C odigo redundante Detec ca o e correc ca o de erros

2.3

C odigo Bin ario Natural (CBN)


C odigo bin ario natural (CBN)

Como acab amos de ver, o c odigo bin ario natural ou CBN e formado por palavras de comprimento xo (trata-se de um c odigo regular). Se o comprimento de cada palavra for igual a n, o n umero m aximo de palavras do c odigo e igual a 2n. O CBN e gerado formamdo os n umeros na base 2 que t em por equivalentes decimais os n umeros 0(10) a (2n 1)(10). Por exemplo, o CBN com palavras de comprimento 5 possui 32 palavras, com equivalentes decimais que v ao de 0(10) at e 31(10) (Tabela 2.1).

2.4

C odigo Bin ario Reectido (CBR)


C odigo bin ario reectido (CBR)

Existem in umeros exemplos de c odigos bin arios reectidos. Neste texto apenas iremos mencionar um deles, porventura o mais conhecido, que passaremos a designar, mais simplesmente, por c odigo bin ario reectido, ou CBR. Trata-se de um c odigo que n ao e ponderado na medida em que, ao contr ario do que sucede com o CBN, n ao podemos atribuir pesos a `s posi co es dos bits nas palavras. Por outras palavras, n ao podemos associar a cada palavra do CBR um equivalente decimal. A caracter stica essencial do CBR e que certos pares de palavras apenas diferem num bit. Por isso essas palavras designam-se por adjacentes. Como veremos mais tarde, quando no Cap tulo 5 estudarmos a minimiza ca o das fun co es booleanas simples, esta caracter stica vai ser muito u til. Na Tabela 2.2 representa-se o CBR com palavras de comprimento 4.

Palavras adjacentes

32

CAP ITULO 2. CODIGOS

Tabela 2.1: O c odigo bin ario natural (CBN) com palavras de comprimento 5

Equivalente decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Palavra do CBN 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111

Equivalente decimal 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Palavra do CBN 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111

Tabela 2.2: O c odigo bin ario reectido (CBR) com palavras de comprimento 4

Linha n umero 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Palavra do CBR 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

Como podemos constatar, a primeira e a segunda linhas representam palavras adjacentes porque apenas diferem num bit. Outro tanto sucede com a segunda e a terceira linhas, a terceira e a quarta, etc. Na realidade, para al em destes pares de linhas cont guas, O c odigo CBR possui ainda outros pares de linhas adjacentes como, por exemplo, as linhas 1 e 4. Por outro lado, a primeira e a u ltima linhas tamb em s ao adjacentes, o que resulta co es bin arias de o c odigo ser completo, isto e, formado por todas as 2n congura poss veis com palavras de comprimento n. Como iremos ver mais para a frente

2.5. CODIGO BCD

33

neste curso, esta propriedade de adjac encia entre v arios pares de linhas vai ser muito importante.

2.4.1

Constru c ao do CBR a partir do CBN

f E acil construit um CBR a partir de um CBN com palavras com o mesmo comprimento. Existindo mais do que uma maneira de o fazer, indicaremos de seguida a mais expedita (constru ca o recursiva). Comece-se por considerar o CBR com palavras com comprimento n = 1 bit: 0 1 Para formar um CBR com palavras de n bits parte-se do CBR com palavras de n 1 bits, repetindo em seguida cada uma das suas palavras por ordem inversa (como se estivessem reectidas num espelho, da a designa c ao dada ao c odigo). Em seguida junta-se-lhe o n- esimo bit igual a 0 nas primeiras 2n1 posi co es, e co es seguintes. igual a 1 nas 2n1 posi Por exemplo, a partir do CBR anterior com palavras de comprimento n = 1 fazemos 0 0 1 1 0 1 1 0

para obter o CBR com palavras de comprimento 2. E a partir deste, fazemos 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0

para obter o CBR com palavras de comprimento 3. E o mesmo para maiores dimens oes das palavras.

2.5
2.5.1

C odigo BCD
Representa c ao de n umeros em BCD

Uma situa ca o muito frequente e a da necessidade de codicar numericamente dez quantidades distintas, correspondentes aos d gitos do sistema decimal, 0(10)

34

CAP ITULO 2. CODIGOS

aquinas de calcular que utilizam o sistema a 9(10). Tal sucede, por exemplo, em m decimal para a entrada de dados e para a sa da dos resultados. Naturalmente, podemos utilizar as 10 primeiras palavras de comprimento 4 do CBN que passar a, nestas circunst ancias, a car redundante (na medida em que apenas utilizamos 10 das 16 palavras desse c odigo). Obtemos, nessas condi co es, o c odigo BCD (do ingl es Binary Coded Decimal, ou Decimal Codicado em Bin ario) da Tabela 2.3. Tabela 2.3: O c odigo BCD

C odigo BCD

D gito decimal 0 1 2 3 4 5 6 7 8 9

Palavra do c odigo BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

C odigos decimais-bin arios

Em alternativa, utilizamos um dos muitos c odigos decimais-bin arios existentes. Para distinguir entre uma palavra do c odigo BCD e a representa ca o do n umero bin ario com a mesma congura ca o, utilizamos a palavra BCD em ndice quando nos referimos ao c odigo. Por exemplo, 0111(2) identica, como sabemos, um n umero bin ario que tem 7(10) como equivalente decimal. Este mesmo d gito decimal vem representado, no c odigo BCD, pela palavra 0111(BCD). Devemos notar que uma palavra do c odigo BCD codica um e s o um d gito decimal. Se quisermos codicar k d gitos decimais (num n umero decimal com parte inteira formada por um d gito das unidades, um d gito das dezenas, etc. e, eventualmente, com parte fraccion aria com um d gito para as d ecimas, outro para as cent esimas, etc.) precisaremos de k palavras do c odigo BCD, uma por cada d gito decimal. Por exemplo, codicamos o n umero 37, 5(10) por 37, 5(10) <> 0011 0111 , 0101(BCD) , (separaram-se as palavras do c odigo BCD apenas para ajudar a ` compreens ao da sequ encia de bits). Isto e completamente distinto de 37, 5(10) <> 100101, 1(2) , a representa ca o do n umero decimal na base 2. Inversamente, uma sequ encia arbitr aria de bits signica n umeros completamente diferentes consoante ela for interpretada como um n umero BCD ou como um n umero bin ario. Por exemplo, 10011001(2) <> 99(BCD) ,

2.5. CODIGO BCD mas 10011001(2) <> 27 + 24 + 23 + 20 = 155(10) e 10011001(2) <> 103(C2) .

35

Devemos notar, nalmente, que nem todas as sequ encias de bits podem representar codica c oes em BCD de n umeros decimais (n ao esquecer que h a sequ encias bin arias de 4 bits que n ao constituem palavras do c odigo BCD). Por exemplo, a sequ encia 00101101(2), quando separada para identicar um poss vel n umero encia de uma palavra BCD e de BCD, como em 0010 1101(2), mostra a exist uma outra que n ao e BCD.

2.5.2

Adi c ao em BCD

Como referimos anteriormente, em certos sistemas os dados de entrada e os resultados v em apresentados no c odigo BCD. Nesses casos, e por raz oes de eci encia, devemos procurar realizar a opera ca o de adi ca o directamente no c odigo BCD (j a que as restantes opera co es aritm eticas b asicas podem sempre ser reduzidas a adi co es). Com efeito, a alternativa, mais complexa, consistiria em come car por converter do c odigo BCD para o CBN os dados de entrada, realizar as opera co es aritm eticas no CBN e, nalmente, converter os resultados do CBN para o c odigo BCD. Quando se efectua, no c odigo BCD, a adi c ao de dois d gitos, tr es casos diferentes podem ocorrer: 1 o resultado da adi ca o, A, e inferior ou igual a 9(10) e representa uma palavra leg tima do c odigo; c ao 2 A est a compreendido entre 10(10) e 15(10), e o resultado obtido na adi n ao constitui uma palavra do c odigo (porque corresponde a uma sequ encia bin aria entre 1010 e 1111) sendo, por isso, incorrecto; 3 A tem um valor compreendido entre 16(10) e 18(10) ( e de notar que a adi ca o em quest ao apenas envolve operandos com um d gito decimal, isto e, entre ca o n ao pode ultrapassar 18(10)); 0(10) e 9(10), pelo que o resultado da opera neste caso, como iremos ver de seguida, a sequ encia bin aria do resultado corresponde a uma palavra do c odigo BCD (por em corresponde a uma palavra errada) e gera-se um transporte para al em do bit de maior peso da palavra de c odigo; tamb em neste caso o resultado obtido e, obviamente, incorrecto. Em resumo, se tentarmos efectuar a adi ca o de duas palavras do c odigo BCD com o intuito de adicionar os seus equivalentes decimais, apenas no caso em que e que o resultado da adi ca o vem correcto. Nos outros A e inferior ou igual a 9(10) dois casos haver a que corrigir o resultado, sendo que o algoritmo de correc c ao e sempre o mesmo, como iremos ver j a de seguida: adi ca o de seis unidades a A. Na Figura 2.1 ilustram-se os tr es casos poss veis de adi ca o de dois d gitos no c odigo BCD.
Adi c ao BCD

Algoritmo de correc ca o da adi ca o em BCD

36 Caso 1 3 +5 8 Caso 2 6 +7 13 0001 Caso 3 8 +9 17 1 0001 0011 +0101 1000 0110 +0111 1101 +0110 0011 1000 +1001 0001 +0110 0111

CAP ITULO 2. CODIGOS

A = 8(10)

erro correc ca o A = 13(10)

erro correc ca o A = 17(10)

Figura 2.1: Casos poss veis de adi ca o de dois d gitos no c odigo BCD: (a) o a correcto; (b) resultado A da adi ca o vem compreendido entre 0(10) e 9(10) e est ca o; e (c) o resultado vem compreendido entre 10(10) e 15(10) e precisa de correc o resultado vem compreendido entre 16(10) e 18(10) e tamb em necessita de ser corrigido

2.6

Os C odigos memn

Os c odigos m-em-n s ao c odigos decimais bin arios com m uns e (n m) zeros em cada palavra de comprimento n. Nesta classe destacam-se os c odigos 1-em-n, de que se apresenta um exemplo, o c odigo 1-em-10, na Tabela 2.4. Trata-se de um c odigo ponderado, com pesos 9, 8, . . . , 1, 0. Tabela 2.4: O c odigo 1-em-10
Equivalente decimal 0 1 2 3 4 5 6 7 8 9 C odigo 1-em-10 9876543210 0000000001 0000000010 0000000100 0000001000 0000010000 0000100000 0001000000 0010000000 0100000000 1000000000

2.7. CODIGOS ALFANUMERICOS

37

2.7

C odigos Alfanum ericos

Como se armou no m da Sec ca o 2.1, existem duas grandes classes de c odigos: a dos c odigos num ericos, de que estud amos anteriormente os principais exemplos, e a dos c odigos alfanum ericos, que estudaremos a seguir. Trata-se de c odigos que t em por objectivo codicar, para al em de informa ca o num erica, tamb em informa c ao alfab etica, como sejam as letras mai usculas e min usculas, os s mbolos de pontua ca o, as letras acentuadas caracter sticas dos alfabetos latinos, os s mbolos utilizados nas l nguas orientais, etc, e ainda s mbolos de controlo.

2.7.1

O c odigo ASCII
C odigo ASCII

Na Tabela 2.5 representa-se o c odigo ASCII. Trata-se de um c odigo alfanum erico limitado, apenas capaz de codicar a principal informa ca o alfab etica (letras mai usculas e min usculas, e s mbolos de pontua ca o) e informa ca o de controlo (por exemplo mudan ca de linha, m de cheiro, tabula ca o, etc.), que utiliza palavras de comprimento 7. Tabela 2.5: O c odigo ASCII
b6 b5 b4 b3 b2 b1 b0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 010 SP ! # $ % & ( ) * + , . / 011 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 100 @ A B C D E F G H I J K L M N O 101 P Q R S T U V W X Y Z [ \ ] 110 a b c d e f g h i j k l m n 0 111 p q r s t u v w x y z { | } DEL

As duas primeiras colunas da tabela, que usam os dois bits com maior peso iguais a 00, identicam os caracteres de controlo. Por exemplo, SP manda um espa co para um dispositivo de sa da (por exemplo, um ecran de computador). BEL, por seu turno, faz soar uma campa nha. CR signica Carriage Return, o que faz o cursor (no mesmo ecran) mudar para a linha seguinte, na mesma coluna, enquanto que LF signica Line Feed, o que faz o mesmo cursor mudar para o in cio (primeira coluna) da linha corrente (naturalmente, CR+LF ou

38

CAP ITULO 2. CODIGOS

LF+CR, pela ordem indicada, faz mudar o cursor para a primeira coluna da linha seguinte).
Notar que esta forma simplicada de representa ca o substitui uma palavra ASCII, com 7 bits, por dois d gitos hexadecimais, com 8 bits.

Normalmente usa-se o c odigo hexadecimal para simplicar a representa ca o das palavras ASCII. Assim, por exemplo, a codica c ao ASCII da palavra SIM, isto e, 1010011 1001001 1001101 (separaram-se as palavras apenas para ajudar a ` compreens ao da sequ encia de bits) vem simplicada para 53 49 4B(16) ou, ainda mais simplesmente, por 53494B h ou 53494B H, em que h ou H s ao abreviaturas de hexadecimal.

2.7.2

O c odigo ISO-8859-1

Uma limita ca o s eria do c odigo ASCII resulta de ele ter sido desenhado para codicar informa ca o alfab etica na l ngua inglesa, que n ao cont em s mbolos de acentua ca o (como o c portug es ou o o germ anico). Por outro lado, n ao e capaz de codicar os s mbolos utilizados nas l nguas orientais. Claramente, com 7 bits era imposs vel fazer melhor. A primeira op c ao de extens ao do c odigo ASCII consistiu em aumentar o n umero de bits por palavra para 8, mantendo os 7 bits menos signicativos iguais aos do ASCII. Ou seja, para os valores 00 h a 7F h os c odigos coincidem. Infelizmente, foram criados v arios c odigos alfanum ericos com esses pressupostos, c odigos esses que n ao s ao, contudo, compat veis entre eles.
C odigo ISO-8859-1 ou Isolatin-1

Destaca-se, de entre eles, o c odigo ISO-8859-1, vulgarmente conhecido por c odigo Isolatin-1, que permite os caracteres acentuados das l nguas latinas da Europa Ocidental, por exemplo o c ou o a portugu es, o n espanhol ou ainda o u alem ao. A inclus ao de caracteres de outros alfabetos (grego, cir lico, arm enio, hebreu, arabe, indiano, etc.), de s mbolos matem aticos e de guras geom etricas, e ainda de dezenas de milhar de caracteres ideogr acos, como os utilizados em chin es, levou ao aparecimento do UNICODE ou ISO/IEC 10646 UCS-2 (Universal Character Set-2), um c odigo evolutivo com 16 bits por s mbolo, aberto a ` inclus ao de novos caracteres e s mbolos.

C odigo UNICODE

2.8

Refer encias Bibliogr acas

S erro, Carlos Sistemas Digitais: Fundamentos Alg ebricos, IST Press, Lisboa, 2003, Sec co es 2.1, e 2.3 a 2.5. Arroz, G. S., Monteiro, J. C. e Oliveira, A. L. Introdu ca o aos Sistemas Digitais e Microprocessadores, Sec co es 2.3 e 2.4. Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 1.4 e 1.5.

2.9. EXERC ICIOS

39

2.9

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. () 2.1 Utilizar o CBN para codicar a seguinte informa ca o decimal: (a) () () N = 31; (b) N = 1 674; (c) N = 52 674.

2.2 Construir um CBR com palavras de comprimento 5. 2.3 Construir um c odigo reectido de val encia 3 e com palavras de comprimento 3. Determinar as adjac encias entre palavras do c odigo (Nota . Por val encia de um c odigo entende-se o n umero de s mbolos por ele utilizados. Assim, um c odigo bin ario e um c odigo de val encia 2, e um c odigo tern ario tem val encia 3). 2.4 Construir um c odigo reectido de val encia 4 e com palavras de comprimento 2. 2.5 Codicar os d gitos decimais 0, 1, . . . , 9 utilizando c odigos bin arios ponderados com os pesos indicados: (a) (c) (e) pesos 6 3 2 1; pesos 7 3 1 2; pesos 8 7 4 2. (b) (d) pesos 7 3 2 1; pesos 5 4 2 1;
C odigo reectido Val encia

() ()

ario 2.6 Considere o n umero octal 352, 4(8). Represente-o em decimal, em bin e no c odigo BCD. 2.7 Realizar as opera co es indicadas no c odigo BCD: (a) (c) 37(10) + 12(10); 37(10) 12(10); (b) (d) 1024(10) + 379(10); 1024(10) 379(10).

2.8 Converter para o c odigo BCD os n umeros decimais dados e, em seguida, executar as opera co es pedidas. (a) (d) 12, 5 + 21; 3, 5 0, 71. (b) 123, 1 21, 5; (c) 7, 5 + 9, 81;

2.9 Descodicar a seguinte informa ca o ASCII: 1000010 1001111 1010010 1001001 1001110 1000111 0100001 .

40

CAP ITULO 2. CODIGOS

Cap tulo 3

Algebra de Boole Bin aria


3.1 Vari aveis e Fun c oes Booleanas
Sistemas e circuitos digitais

Os sistemas digitais assentam em circuitos (os circuitos digitais) que assumem, em cada instante, um de dois u nicos estados poss veis. Se os designarmos por 0 e por 1 (veremos mais tarde que haveremos de preferir outras designa co es para os estados, por em a ess encia do problema mant em-se, independentemente das designa co es), podemos utilizar o sistema de numera ca o bin ario como suporte alg ebrico, e os c odigos bin arios como suporte da informa ca o processada e veiculada por esses circuitos e sistemas. Do ponto de vista alg ebrico teremos, naturalmente, que recorrer a uma a lgebra especial, designada por algebra de Boole bin aria, que fa ca uso dos s mbolos 0 e 1 e que os utilize de forma sistem atica, com exclus ao de todos os outros. Ou seja, vamos ter que desenvolver uma a lgebra que, ao contr ario da a lgebra corrente, recorre a vari aveis e a fun co es que apenas podem assumir os valores 0 e 1. Quais as opera co es (e operadores) que podemos utilizar nessa algebra, e o que discutiremos na Sec ca o 3.5. Por em, deve car desde j a claro que essa a lgebra ir a desenvolver-se axiomaticamente, com base num conjunto restrito de postulados. Antes de passarmos ao estudo dessa a lgebra, por em, vamos apresentar informalmente alguns conceitos b asicos. O primeiro tem a ver com as designa co es a dar a cada um dos s mbolos 0 e 1. Design a-los-emos por quantidades booleanas simples. E aos conjuntos ordenados destes s mbolos como, por exemplo, em (0, 1, 1, 0, 0, 1), damos a designa ca o de quantidades booleanas gerais. Por outro lado, utilizaremos frequentemente vari aveis com as designa co es habituais em qualquer a lgebra, por exemplo x, A, z5 ou , n ao esquecendo que elas apenas podem tomar valores no conjunto {0, 1}. Essas vari aveis tomar ao a designa ca o colectiva de vari aveis booleanas simples ou, por vezes e de forma mais f acil, de vari aveis (booleanas). Por outro lado, iremos precisar correntemente de conjuntos ordenados de vari aveis, por exemplo x = (x1, x2, . . . , xn), que designaremos por vari aveis booleanas gerais. 41

Algebra de Boole bin aria

Quantidades booleanas simples e gerais

Vari aveis (booleanas simples)

Vari aveis booleanas gerais

42

CAP ITULO 3. ALGEBRA DE BOOLE BINARIA

Fun c oes booleanas simples

Finalmente, precisaremos de denir fun co es booleanas, que mais n ao s ao do que aplica co es do conjunto {0, 1}n no conjunto {0, 1}, por exemplo f (x1 , x2, . . . , xn). Trata-se, neste caso mais geral, de uma fun c ao booleana simples, f , de uma vari avel booleana geral x = (x1 , x2, . . . , xn). No caso particular em que apenas est a envolvida uma vari avel booleana simples, digamos x, teremos que f (x) e uma fun ca o booleana simples de uma vari avel booleana simples. Nos casos mais complicados necessitaremos de conjuntos ordenados de fun c oes co es boobooleanas simples, como em f = (f1 , f2 , . . . , fk ), em que todas as fun leanas simples f1 , f2 , . . . fk envolvem o mesmo n umero de vari aveis booleanas simples, como, por exemplo, em f1 (x1 , x2, . . . , xn), f2 (x1, x2, . . . , xn), . . . , fk (x1 , x2, . . . , xn) .

Fun c oes booleanas gerais Fun c oes l ogicas

Neste caso falamos de uma fun c ao booleana geral, f , da vari avel booleana geral x = (x1 , x2, . . . , xn). Estas fun co es, por vezes tamb em designadas por fun c oes l ogicas, v ao desempenhar um papel central nas metodologias de an alise e de s ntese dos circuitos digitais, que empreenderemos a partir do Cap tulo 8. Para isso, precisamos de saber representar adequadamente as fun c oes booleanas o que faremos no Cap tulo 4 e precisamos ainda de saber dar-lhes a forma ou as formas alg ebricas mais simples, um problema que designaremos por minimiza ca o das fun co es e que estudaremos no Cap tulo 5.

3.2
Complementa ca o ou nega ca o Complemento de uma vari avel ou fun c ao

Fun co es com Uma Vari avel

Antes de analisarmos as fun co es booleanas simples de 1 vari avel booleana simca o de complementa c ao ou ples, digamos fi (x), precisamos de introduzir a opera f de nega c ao da vari avel x (ou da fun ca o fi ). E acil perceber o sentido desta opera ca o: se x (ou fi ) tiver, num dado momento, o valor 0, o seu complemento tem o valor 1 nesse momento. E inversamente, se o valor de x (ou de fi ) for 1 a certa altura, ent ao o seu complemento tem o valor 0 nessa altura. S o precisamos de arranjar um s mbolo para o complemento da vari avel ou da fun ca o. Utilizaremos x e fi para designar esses complementos. Nestas condi co es, e f acil perceber que apenas podemos formar 4 fun co es booleanas simples de 1 ou menos vari aveis booleanas simples: as fun co es f0 = x, f1 = x, f2 = 0 e f3 = 1 .

Tabela de verdade (l ogica)

Vamos escrever estas fun co es numa tabela especial, designada por tabela de verdade l ogica ou, mais simplesmente, por tabela de verdade das fun co es, que representa os valores l ogicos 0 ou 1 de cada fun ca o booleana simples para cada um dos valores l ogicos 0 ou 1 da vari avel booleana simples. Como neste caso temos 4 fun c oes booleanas simples, o que representamos na Tabela 3.1 s ao, na realidade, 4 tabelas de verdade compactadas numa u nica. Notemos como a fun c ao identidade, f0 (x) = x, possui, para cada linha, o mesmo valor que x. Notemos ainda como a fun c ao complementa c ao (ou fun c ao nega c ao, ou fun c ao NOT), f1 (x) = x, possui, para cada linha, o complemento do valor de x.

Fun c ao identidade Fun c ao complementa ca o (nega ca o, NOT)

3.2. FUNC OES COM UMA VARIAVEL

43

Tabela 3.1: Tabelas de verdade das fun co es booleanas simples de uma ou zero vari aveis booleanas simples, onde se enumeram as linhas pelos equivalentes decimais dos n umeros bin arios correspondentes a `s quantidades booleanas simples 0 e 1 (Nota: a numera ca o das linhas n ao faz parte da tabela )
Fun c ao identidade f0 (x) = x 0 1 Fun c ao complementa c ao f1 (x) = x 1 0 Fun ca o constante 0 f2 (x) = 0 0 0 Fun c ao constante 1 f3 (x) = 1 1 1

Linha # 0 1

x 0 1

Finalmente, notemos como as fun c oes constantes 0 e 1, respectivamente f2 (x) = = 0 e f3(x) = 1, possuem o valor constante 0 e 1 qualquer que seja o valor de x. Estas fun co es v ao intervir a dois n veis: (i) em express oes booleanas , ou express oes l ogicas , como acab amos de ver nos quatro casos anteriores (express oes booleanas mais complexas ser ao estudadas na Sec ca o 4.1); e (ii) em logigramas e esquemas el ectricos , que mais n ao s ao do que representa co es gr acas adequadas para as fun co es. Nestes u ltimos casos teremos que estabelecer uma simbologia pr opria para cada fun ca o, ou melhor, para cada operador funcional (operador identidade, operador NOT, operador constante 0 e operador constante 1). Como veremos no Cap tulo 6, a cada um destes operadores alg ebricos vai corresponder uma contrapartida f sica directa que pode assumir tr es variantes: (a) a forma de uma porta l ogica, como acontece com o operador NOT; (b) a forma de um o (uma linha, ou liga ca o), como acontece com o operador identidade; ou (c) a forma de n veis de tens ao el ectrica H e L, em representa ca o dos operadores constantes. Importa, por isso, come car a apresentar alguns desses s mbolos, a ` medida que se tornam necess arios. Naturalmente, ao faz e-lo estamos a sair da esfera estrita da a lgebra de Boole bin aria para passarmos para o campo da implementa ca o f sica dos sistemas digitais, sob a forma de circuitos digitais. Como ainda e muito cedo para fazermos essa passagem, procederemos com cuidado por agora. A representa ca o de uma porta NOT ou porta inversora num logigrama ou esquema el ectrico faz-se a ` custa de um s mbolo normalizado (ali as, os s mbolos normalizados n ao ser ao apenas utilizados para representar as portas l ogicas, como tamb em representar ao outros circuitos mais complexos que havemos de estudar umais tarde). A norma internacional que est a na base dessas representa co es designa-se por norma IEC 60617-12 e foi estabelecida pela Comiss ao Electrot ecnica Internacional (esta norma foi subsequentemente transposta para normas nacionais pelos pa ses que integram a Comiss ao). Neste curso seguiremos a norma IEC 60617-12 de forma t ao escrupulosa quanto poss vel, o que tem tr es vantagens. Por um lado, a representa ca o dos circuitos digitais torna-se rigorosa e independente de quaisquer fantasias representativas (o que sucede frequentemente, mesmo em textos com responsabilidades pedag ogicas).

Fun c oes constantes

Operadores 0, 1, identidade e NOT Porta l ogica

Porta NOT (inversora)

Norma IEC 60617-12

44

CAP ITULO 3. ALGEBRA DE BOOLE BINARIA

Por outro lado, um logigrama ou esquema el ectrico normalizado pode ser correctamente interpretado em qualquer parte do mundo (por quem conhe ca a norma, naturalmente), o que lhe confere um car acter de universalidade que uma simbologia ad-hoc n ao possui. Finalmente, uma simbologia exacta como e esta dispensa a inclus ao de um texto mais ou menos longo a explicar as caracter sticas dos circuitos, porque essas caracter sticas s ao evidentes: basta interpretar correctamente os s mbolos.
S mbolos de uma porta NOT

Na Figura 3.1 apresentam-se dois s mbolos IEC para a porta NOT. Embora intermut aveis, por vezes d a-se a primazia a um deles, consoante os circuitos em que se inserem (como veremos mais tarde).
1 1

Figura 3.1: S mbolos IEC poss veis para uma porta NOT

3.3

Fun co es com Duas Vari aveis

O n umero de fun co es booleanas simples de 2 ou menos vari aveis j a e muito maior do que 4. Vamos tentar perceber quantas s ao essas fun c oes, e em seguida generalizar para um n umero n qualquer de vari aveis booleanas simples. Comecemos por perceber a estrutura das tabelas de verdade para as fun co es de 2 vari aveis. Enquanto para uma vari avel, por exemplo x, a tabela s o tem duas linhas, para os valores 0 e 1 da vari avel (vd . a Tabela 3.1), para tabelas com 2 vari aveis, por exemplo x e y, vamos precisar de 4 linhas, correspondentes aos 4 valores l ogicos poss veis para essas vari aveis: ou seja, as tabelas v ao ter uma linha por cada quantidade booleana geral (x, y) = (0, 0), (x, y) = (0, 1), (x, y) = (1, 0) e (x, y) = (1, 1). E, se quisermos numerar as linhas, podemos atribuir-lhes os equivalentes decimais dos n umeros bin arios 00, 01, 10 e 11, ou seja, respectivamente 0, 1, 2 e 3 se admitirmos que o peso de x e maior do que o de y. Quanto a `s colunas da tabela, existe uma coluna por fun c ao. Vamos agora ver quantas tabelas de verdade podemos construir para fun co es de 2 ou menos vari aveis ou, o que e o mesmo, quantas fun co es de 2 vari aveis ou menos conseguimos construir. Na Tabela 3.1 inclu mos 4 colunas, uma por fun c ao (ou seja, est ao l a 4 tabelas de verdade); por outro lado, as 4 colunas corresponderam a todos as quantidades booleanas gerais que conseguimos formar . E para 2 vari aveis? Com 4 linhas por tabela de verdade, conseguimos formar 16 quantidades booleanas gerais. Logo, h a 16 fun c oes com 2 ou menos vari aveis, como mostra a Tabela 3.2. c oes Generalizando, com n vari aveis booleanas simples podemos formar 22 fun booleanas simples, um n umero que cresce exponencialmente com n.
n

3.3. FUNC OES COM DUAS VARIAVEIS

45

Tabela 3.2: Poss veis fun co es booleanas simples com duas ou menos vari aveis booleanas simples
x y 0 0 0 1 1 0 1 1 f0 0 0 0 0 f1 1 0 0 0 f2 0 1 0 0 f3 1 1 0 0 f4 0 0 1 0 f5 1 0 1 0 f6 0 1 1 0 f7 1 1 1 0 f8 0 0 0 1 f9 1 0 0 1 f10 0 1 0 1 f11 1 1 0 1 f12 0 0 1 1 f13 1 0 1 1 f14 0 1 1 1 f15 1 1 1 1

Das fun co es com 2 vari aveis salientamos as seguintes: f3(x, y) = x f5(x, y) = y f8(x, y) = x y f14(x, y) = x + y f7(x, y) = x y f1(x, y) = x + y f6(x, y) = x y f9(x, y) = x y (a (a (a (a (a (a (a (a fun ca o fun ca o fun ca o fun ca o fun ca o fun ca o fun ca o fun ca o complementa ca o) complementa ca o) AND) OR) NAND) NOR) OU-exclusivo) Equival encia)
Fun c ao complementa ca o (nega ca o, NOT)

Vamos examinar estas fun co es mais em pormenor. A fun c ao complementa c ao (ou nega c ao, ou NOT) j a e conhecida para 1 vari avel. Para 2 vari aveis toma duas formas poss veis, f3 (x, y) = x ou f5 (x, y) = y ,

como mostra a sua tabela de verdade, inclu da na Tabela 3.3. Tabela 3.3: Tabelas de verdade das fun co es complementa ca o, AND e OR com 2 vari aveis, onde se enumeram as linhas pelos equivalentes decimais dos n umeros bin arios correspondentes a `s quantidades booleanas gerais (0, 0), (0, 1), (1, 0) e (1, 1) (Nota: a numera ca o das linhas n ao faz parte da tabela )
Fun c ao complement. f3 (x, y) = x 1 1 0 0 Fun ca o complement. f5 (x, y) = y 1 0 1 0 Fun c ao AND f8 (x, y) = x y 0 0 0 1 Fun ca o OR f14 (x, y) = x + y 0 1 1 1

Linha # 0 1 2 3

x 0 0 1 1

y 0 1 0 1

Reparemos como f3 (x, y) = x vale 1 onde x vale 0, e vice-versa. E, identicamente, como f5(x, y) = y vale 1 onde y vale 0, e vice-versa. A fun c ao AND de 2 vari aveis, f8 (x, y) = x y, vale 1 apenas quando as duas vari aveis valem 1. Notemos a simbologia do operador utilizado para representar
Fun c ao AND de 2 vari aveis

46

CAP ITULO 3. ALGEBRA DE BOOLE BINARIA

esta fun ca o, traduzida pelo s mbolo colocado entre as vari aveis ou, para simplicar, sem o ponto, como em f8 (x, y) = x y.
Fun c ao OR de 2 vari aveis

A fun c ao OR de 2 vari aveis, f14(x, y) = x + y, vale 1 se pelo menos uma das vari aveis valer 1. A simbologia do operador que representa esta fun ca o traduz-se pelo s mbolo +. Na Tabela 3.4 encontramos mais quatro fun co es que importa salientar. Tabela 3.4: Tabelas de verdade das fun co es NAND, NOR, Ou-exclusivo e Equival encia com 2 vari aveis, onde se enumeram as linhas pelos equivalentes decimais dos n umeros bin arios correspondentes a `s quantidades booleanas gerais (0, 0), (0, 1), (1, 0) e (1, 1)
Fun c ao NAND f7 (x, y) = x y 1 1 1 0 Fun c ao NOR f1 (x, y) = x + y 1 0 0 0 Fun c ao OU-exclusivo f6 (x, y) = x y 0 1 1 0 Fun c ao Equival encia f9 (x, y) = x y 1 0 0 1

x 0 0 1 1 Fun c oes NAND e NOR de 2 vari aveis Fun c ao OU-exclusivo

y 0 1 0 1

A fun c ao NAND com 2 vari aveis, f7 (x, y) = x y, e o complemento do AND. E a fun c ao NOR com 2 vari aveis, f1 (x, y) = x + y , e o complemento do OR . Por sua vez, a fun c ao Ou-exclusivo, f6 (x, y) = x y, vale 1 quando x e y tomam valores diferentes: def x y = xy + xy . Quanto a ` fun c ao Equival encia, f9 (x, y) = x y, vale 1 quando x e y tiverem o mesmo valor (quando forem equivalentes): x y = xy + xy . Devemos notar que x y = x y .
def

Fun c ao Equival encia

Fun c oes identidade Fun c oes constantes

Finalmente, mencionam-se as fun c oes identidade, f12 (x, y) = x e f10 (x, y) = y, e as fun c oes constantes, f0 (x, y) = 0 e f15(x, y) = 1. Para completar esta sec ca o, vamos de seguida apresentar os s mbolos IEC de algumas portas l ogicas, as que implementam os operadores AND, OR, NAND, NOR, XOR e XNOR. Notemos que o operador XOR implementa a fun ca o Ou-exclusivo, e que o operador XNOR implementa a fun ca o Equival encia. Na Figura 3.2 apresentam-se os s mbolos IEC das portas l ogicas com os mesmos nomes e com 2 entradas. Como veremos mais tarde, no Cap tulo 7 em que estudaremos a l ogica de polaridade, veremos que estas designa co es s o s ao v alidas para certos contextos, e nessa altura apresentaremos designa co es mais apropriadas para algumas destas portas.

Operadores AND, OR, NAND, NOR, XOR e XNOR

S mbolos das portas AND, OR, NAND. NOR, XOR e XNOR com 2 entradas

3.4. FUNC OES COM MAIS DO QUE DUAS VARIAVEIS


Porta AND Porta OR Porta NAND

47

&

&

Porta NOR

Porta XOR

Porta XNOR

=1

=1

Figura 3.2: S mbolos IEC das portas AND, OR, NAND, NOR, XOR (que implementa a fun ca o OU-exclusivo) e XNOR (que implementa a fun ca o Equival encia) com 2 entradas

3.4

Fun co es com Mais do que Duas Vari aveis

Como vimos na sec ca o anterior, com n vari aveis booleanas simples podemos forn co es booleanas simples. Naturalmente, este crescimento exponencial mar 22 fun com o valor de n torna impratic avel a enumera ca o de todas as fun co es para um valor arbitr ario de n, com n > 2. Contudo, podemos enumerar algumas. Por exemplo, as fun co es AND, OR, NAND e NOR com mais de 2 vari aveis, com express oes l ogicas fAND (k, l, . . . , z ) = k l . . . z fOR (k, l, . . . , z ) = k + l + + z fNAND(k, l, . . . , z ) = k l . . . z fNOR (k, l, . . . , z ) = k + l + + z e com os s mbolos IEC da Figura 3.3, nos casos em que as portas l ogicas com as mesmas designa co es possuem 3 entradas (facilmente podemos extrapolar os s mbolos para mais do que 3 entradas).
Porta AND Porta OR Porta NAND Porta NOR S mbolos das portas AND, OR, NAND e NOR com 3 entradas

&

&

Figura 3.3: S mbolos IEC das portas AND, OR, NAND e NOR com 3 entradas Pod amos ainda enumerar outras fun co es, como as fun co es identidade e constantes que envolvem 3 ou mais vari aveis. Mas, naturalmente, j as as conhecemos dos casos em que apenas est ao envolvidas 1 e 2 vari aveis. Quanto a ` fun ca o OU-exclusivo, podemos ainda extrapol a-la para mais do que 2 vari aveis. Mas nesses casos preferem-se utilizar portas XOR com 2 entradas e utilizar a propriedade associativa da fun ca o (como estudaremos mais a ` frente neste cap tulo) para formar portas XOR com 3 ou mais entradas. E outro tanto para a fun ca o Equival encia e para as correspondentes portas XNOR.

48

CAP ITULO 3. ALGEBRA DE BOOLE BINARIA

3.5
3.5.1
Soma l ogica e produto l ogico Axioma das comutatividades

Axiomas e Teoremas da Algebra de Boole Bin aria


Axiomas

A a lgebra de Boole bin aria e formada por um conjunto {A, B, C, . . . } e por duas opera co es bin arias, + (soma l ogica) e (produto l ogico) que satisfazem a propriedade de fecho e que obedecem aos seguintes axiomas ou postulados: Axioma das comutatividades A1a. A B = B A A1b. A + B = B + A Axioma das distributividades A2a. A (B + C ) = A B + A C A2b. A + B C = (A + B ) (A + C )

Axioma das distributividades

Axioma das identidades

Axioma das identidades. Este axioma dene a exist encia de dois elementos identidade, o 0 e o 1, que s ao os elementos neutro, respectivamente, da soma l ogica (o 0) e do produto l ogico (o 1): A3a. A 1 = A A3b. A + 0 = A

Axioma do complemento

Axioma do complemento A4a. A A = 0 A4b. A + A = 1 O produto l ogico pode ser omitido, quando do facto n ao resultar confus ao; por exemplo, pode escrever-se A B em lugar de AB , como j a vimos anteriormente.

Preced encias

Por seu turno, em express oes que envolvam v arios produtos e somas l ogicas o produto tem preced encia sobre a soma ; ; assim, A+BC deve ser entendido como primeiro fazendo-se o produto l ogico de B por C e s o em seguida a soma l ogica desse produto com A. Quando necess ario, utilizam-se par entesis para tornar claras as sequ encias de opera co es numa express ao. Por exemplo, (A + B ) C deve ser entendido como primeiro fazendo-se a soma l ogica de A com B e s o depois o produto l ogico dessa soma com C .

3.5.2

Teoremas

razoavelmente elevado o n E umero de teoremas que podemos deduzir no contexto da a lgebra de Boole bin aria acima denida. Limitar-nos-emos a enunciar em seguida os principais. Sugere-se que o aluno pelo menos tente provar alguns deles.

3.5. AXIOMAS E TEOREMAS Teorema da idempot encia. T1a. A A = A T1b. A + A = A

49
Teorema da idempot encia

Teorema dos elementos absorventes. O 0 e o 1, que s ao denidos axiomaticamente como elementos neutros, respectivamente, da soma l ogica e do produto l ogico, s ao igualmente elementos absorventes, respectivamente, do produto l ogico e da soma l ogica: T2a. A 0 = 0 T2b. A + 1 = 1 Teorema da associatividade. T3a. (A + B ) + C = A + (B + C ) T3b. (A B ) C = A (B C ) o. Teorema da involuc a T4. A = A o. Teorema da absorc a T5a. A + A B = A T5b. A (A + B ) = A ncia. Teorema da redunda T6a. A + A B = A + B T6b. A (A + B ) = A B Teorema da adjac encia. T7a. A B + A B = A T7b. (A + B ) (A + B ) = A Princ pio da dualidade. Este princ pio estabelece o seguinte: toda a express ao formada por elementos do conjunto {A, B, C, . . . } mais os elementos 0 e 1 e que envolva as opera c oes de soma l ogica, de produto l ogico e de complementa ca o, possui uma express ao dual que se obt em trocando cada soma por um produto l ogico e cada produto por uma soma l ogica, e ainda os 0s por 1s e os 1s por 0s. e (A + 0) (A + 0). Repare-se Assim, a express ao dual da express ao A 1 + A 1 que as vari aveis ou os seus complementos (os chamados literais), no caso A e A, n ao v em alterados por dualidade. Devemos notar que os axiomas e a grande maioria dos teoremas da a lgebra de Boole bin aria existe em vers oes duais (a excep c ao e o teorema da involu ca o). Por exemplo, como o teorema da absor ca o na forma A + A B = A e v alido, tamb em o e a sua forma dual, A (A + B ) = A.

Teorema dos elementos absorventes

Teorema da associatividade

Teorema da involu c ao Teorema da absor ca o

Teorema da redund ancia

Teorema da adjac encia

Princ pio da dualidade

Literal

50
Leis de De Morgan

CAP ITULO 3. ALGEBRA DE BOOLE BINARIA

Leis de De Morgan. T8a. A B = A + B T8b. A + B = A B

Teoremas envolvendo o OU-exclusivo

Teoremas envolvendo o OU-exclusivo. Existem v arios teoremas que envolvem a fun ca o OU-exclusivo de duas ou mais vari aveis booleanas simples. Antes de enumerarmos alguns desses teoremas, relembremos a deni c ao do OU-exclusivo, def A B = A B + A B = (A + B ) ( A + B ) . Consideremos, ent ao, os principais teoremas envolvendo OU-exclusivos: T9. A B = B A (Comutatividade da fun ca o OU-exclusivo) (Associatividade da fun ca o OU-exclusivo)

T10. A (B C ) = (A B ) C T11. A 0 = A T12. A 1 = A

T13. A B = A B = A B = A B (como sabemos, a fun ca o Equival encia, A B , e igual ao complemento da fun ca o OU-exclusivo).

3.6

Refer encias Bibliogr acas

S erro, Carlos Sistemas Digitais: Fundamentos Alg ebricos, IST Press, Lisboa, 2003, Cap tulo 3. Arroz, G. S., Monteiro, J. C. e Oliveira, A. L. Introdu ca o aos Sistemas Digitais e Microprocessadores, Sec co es 3.1.1 a 3.1.9. Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 2.1, 2.2, 2.6 e 2.7.

3.7

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. () () () 3.1 Mostre que a fun ca o Equival encia e comutativa e associativa. 3.2 Prove a seguinte lei de De Morgan: x + y = x y . 3.3 Escreva tabelas de verdade adequadas para as seguintes fun co es booleanas simples: a) b) c) f (A, B, C ) = A (B + C ) (B + C ); f (A, B, C, D) = A (B + C (B + D)); f (A, B, C ) = A C + B C .

3.7. EXERC ICIOS ()

51
Indu c ao completa

3.4 Prove, examinando todos os casos poss veis (demonstra ca o por indu c ao completa), que os seguintes teoremas s ao v alidos (os pares de teoremas s ao duais): a) b) c) d) e) A = A; A+0= A A+1= 1 A+A= A A+A= 1 A 1 = A; A 0 = 0; A A = A; A A = 0.

() ()

3.5 Prove, por indu ca o completa, que A B + A C + B C = A B + A C (teorema do consenso). 3.6 Atrav es de manipula co es alg ebricas, e utilizando os axiomas e os teoremas da a lgebra de Boole bin aria que conhece, verique as seguintes igualdades: a) b) c) (A + B + A B ) (A + B ) A B = 0; A B (D + D C ) + (A + D A C ) B = B ; [(B + C ) A] + (C D) = C D.

Teorema do consenso

3.7 Verique as seguintes igualdades: a) b) c) d) e) X + Y Z = (X + Y ) (X + Z ); X (Y + Z ) = X Y + X Z ; (A B ) C = A (B C ); (A + B ) (A + C ) (B + C ) = (A + B ) (A + C ); A C + A B + B C = A C + B C.

Como as designa? 3.8 Usando os teoremas do texto, simplicar algebricamente as express oes booleanas das seguintes fun co es booleanas simples: a) b) () F = X Y Z + X Y Z + X Z; G = X (Y Z + Y Z ).

3.9 Simplique algebricamente 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; X +XY Z +Y; XY +W XY Z +XY; X Y Z + Y Z + X Z.

3.10 Simplique algebricamente as seguintes fun c oes: a) b) c) d) f f f f = C B (A D ) + C B A + B C D + A D ; = C (B A) D + B C D + A D + A B D; = A (C D ) + A B + A C D + A C D ; = A C D + A C D + (A C ) D + B D .

3.11 Simplique algebricamente as seguintes fun c oes: a) b) c) d) f f f f = A B C D + B C D + A (C D )B + A B C D ; = A B C D + A B C + A B D + A C D + C D + A B C + A C D; = A C (B D ) + A B D + A B D + A B C D + A C D ; = A B C + A C (C + D ) + A + B + D .

52 3.12 Verique que: a) b) c) d) se se X X

CAP ITULO 3. ALGEBRA DE BOOLE BINARIA

A B = 0, ent ao A = B ; A B = A C , ent ao B = C ; +Y = X Y XY; = X 1.

() 3.13 Um t ecnico de laborat orio qu mico possui quatro produtos qu micos, A, B , C e D, que devem ser guardados em dois dep ositos. Por conveni encia, e necess ario mover um ou mais produtos de um dep osito para o outro de tempos a tempos. A natureza dos produtos e tal que e perigoso guardar B e C juntos, a n ao ser que A esteja no mesmo dep osito. Tamb em e perigoso guardar C e D juntos se A n ao estiver no dep osito. Escreva uma express ao para uma fun ca o, Z , tal que Z = 1 sempre que exista uma combina ca o perigosa em qualquer dos dep ositos. () 3.14 Existem tr es interruptores de parede, a, b e c. A = 1 representa a condi ca o interruptor a ligado, e A = 0 representa a condi c ao interruptor a desligado. De modo similar, as vari aveis B e C est ao associadas a `s posi co es dos interruptores b e c, respectivamente. Escreva uma express ao booleana para uma fun ca o Z , de modo que a altera ca o do estado de um interruptor, independentemente dos outros, v a provocar a mudan ca do valor da fun ca o.

Cap tulo 4

Representa c ao das Fun c oes


4.1 Representa c ao por Express oes Booleanas

Consideremos a seguinte fun ca o booleana simples, F = AB + AC. Esta forma de representa ca o designa-se por forma normal disjuntiva ou soma de
produtos da fun ca o.
Forma normal disjuntiva ou soma de produtos Forma normal conjuntiva ou produto de somas Express oes booleanas (l ogicas)

Em alternativa, a mesma fun ca o pode ser descrita pela seguinte forma normal conjuntiva ou produto de somas: F = A (B + C ) . Em ambos os casos estamos a representar a fun ca o por express oes booleanas ou l ogicas. Devemos notar que existem muitas express oes booleanas para representar uma determinada fun ca o booleana simples, embora tenhamos representado F apenas por duas delas. Para obter uma express ao booleanas a partir de outra basta proceder a algumas manipula co es alg ebricas. Por exemplo, a partir da forma normal disjuntiva A B + A C de F podemos obter: A B + A C = A (B + C ) por utiliza ca o do axioma da distributividade do produto l ogico em rela ca o a ` soma l ogica. As representa co es das fun co es booleanas simples em somas de produtos ou em produtos de somas designam-se, em conjunto, por representa c ao alg ebrica das fun co es, por oposi ca o a outras formas de representa ca o como as que iremos estudar j a de seguida. Nem sempre a representa ca o alg ebrica de uma fun c ao booleana simples vem em forma normal conjuntiva ou disjuntiva. Por exemplo, a expresss ao alg ebrica G = A B + A B C (X + Y ) 53

Representa ca o alg ebrica

54

DAS FUNC CAP ITULO 4. REPRESENTAC AO OES

vem numa forma mista entre as duas. Naturalmente, por manipula ca o alg ebrica e sempre poss vel obter formas normais a partir de formas mistas, em geral por aplica ca o dos axiomas da distributividade. Por em, a inversa nem sempre e poss vel. Por exemplo, a express ao normal disjuntiva AB + A B C n ao se consegue p or em forma mista.

4.2
Tabela de verdade (l ogica)

Representa c ao por Tabelas de Verdade

Como j a sabemos do cap tulo anterior, uma das formas de representa ca o de uma fun ca o booleana simples recorre a ` sua tabela de verdade l ogica ou, mais simplesmente, tabela de verdade, que eu nica para cada fun ca o. A tabela de verdade para uma fun ca o arbitr aria, f (xn , xn1, . . . , x2, x1), tem a seguinte estrutura, j a conhecida: (i) n + 1 colunas, sendo as primeiras n colunas para as vari aveis booleanas simples e uma coluna para a fun ca o; e (ii) 2n linhas, cada uma correspondente a uma quantidade booleana geral diferente; e (iii) as linhas s ao ordenadas pelos equivalentes decimais dos n umeros bin arios que identicam as quantidades booleanas gerais. Como exemplo, consideremos, na Tabela 4.1, a tabela de verdade de uma fun ca o arbitr aria de 3 vari aveis booleanas simples, F (A, B, C ). Tabela 4.1: Tabela de verdade da fun ca o booleana simples F (A, B, C ) = = A B + A C , onde se enumeram as linhas pelos equivalentes decimais dos n umeros bin arios correspondentes a `s quantidades booleanas gerais (Nota: a numera ca o das linhas n ao faz parte da tabela )
Linha # 0 1 2 3 4 5 6 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 0 1 0 1 1

Porque precisamos de numerar as linhas da tabela pelos equivalentes decimais dos n umeros bin arios que as identicam, precisamos de atribuir pesos a `s vari aveis booleanas simples A, B e C . Regra geral, admite-se que a vari avel mais a ` esquerda na tabela e a que tem maior peso, e que a vari avel mais a ` direita tem o menor peso (mas esta regra n ao tem que ser sempre seguida) . Se admitirmos esta distribui ca o de pesos, a vari avel booleana simples C tem um avel B tem um peso igual a 21 = 2, e a vari avel A peso igual a 20 = 1, a vari tem um peso igual a 22 = 4. Nestas condi co es:

4.2. TABELAS DE VERDADE

55

1. a linha (A, B, C ) = (0, 0, 0), correspondente ao n umero bin ario 000, tem como equivalente decimal o valor 0 22 + 0 21 + 0 20 = 0; 2. a linha (A, B, C ) = (0, 0, 1), correspondente ao n umero bin ario 001, tem como equivalente decimal o valor 0 22 + 0 21 + 1 20 = 1; 3. a linha (A, B, C ) = (0, 1, 0), correspondente ao n umero bin ario 010, tem como equivalente decimal o valor 0 22 + 1 21 + 0 20 = 2; etc.; 4. a linha (A, B, C ) = (1, 1, 1), correspondente ao n umero bin ario 111, tem como equivalente decimal o valor 1 22 + 1 21 + 1 20 = 7, e as linhas da tabela encontram-se ordenadas pelos equivalentes decimais dos n umeros bin arios que as identicam (de 0 at e 7), como se disse acima. P oe-se, de seguida, o problema de ler uma tabela de verdade e, dessa leitura, deduzir a express ao booleana da fun ca o nela representada. Esse problema ser a abordado em pormenor mais a ` frente neste cap tulo, quando se estudarem as formas can onicas das fun co es booleanas simples. Entretanto, podemos deduzir o seguinte: 1. a fun ca o F possui 1s nas linhas 4, 6 e 7 da tabela de verdade; 2. a linha 4 e caracterizada pela quantidade booleana geral (A, B, C ) = = (1, 0, 0), pelo que F = 1 quando A = 1, B = 0 e C = 0 e, portanto, quando A B C = 1; 3. a linha 6 e caracterizada pela quantidade booleana geral (A, B, C ) = = (1, 1, 0), pelo que F = 1 quando A = 1, B = 1 e C = 0 e, portanto, quando A B C = 1; 4. a linha 7 e caracterizada pela quantidade booleana geral (A, B, C ) = = (1, 1, 1), pelo que F = 1 quando A = 1, B = 1 e C = 1 e, portanto, quando A B C = 1; Segue-se que F = AB C +AB C +AB C, que podemos, obviamente, tentar simplicar usando os axiomas e os teoremas da a lgebra de Boole bin aria: F = ABC +AB C +AB C = A C (B + B ) + A B (C + C ) = AB + AC. A leitura de uma tabela de verdade pode ser feita de forma mais expedita por simples an alise do seu conte udo. Para vermos como, consideremos mais uma vez a Tabela 4.1 e, nela, os pares de linhas em que a fun ca o vale 1 e que apenas diferem numa quantidade booleana simples. Como F = 1 nas linhas 4, 6 e 7, apenas existem dois pares de linhas nestas condi co es: o par (4, 6) e o par (6, 7). As linhas do par (4, 6) diferem na vari avel B que vale 0 na linha 4 e 1 na linha 6 mantendo-se as restantes vari aveis com valores constantes, mais

56

DAS FUNC CAP ITULO 4. REPRESENTAC AO OES

exactamente A = 1 e C = 0. Segue-se que podemos identicar esse par de linhas pela express ao booleana A C (ver a Tabela 4.2), independentemente do valor de B , j a que com A = 1 e C = 0 se tem A C = 1. Como F = 1 para o par, segue-se que F = AC + ... . Nas retic encias est a inclu da a contribui ca o do outro par. Tabela 4.2: Tabela de verdade da fun ca o booleana simples F (A, B, C ) = = A B + A C , onde se identicam pelas suas express oes booleanas os pares de linhas em que F = 1 e que s o diferem numa quantidade booleana simples (Nota: a numera ca o das linhas n ao faz parte da tabela )
Linha # 0 1 2 3 4 5 6 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 0 1 0 1 1 Este par de linhas representa-se por A C Este par de linhas representa-se por A B Logo, F = A B + A C

Consideremos agora o par (6, 7), que muda na vari avel C e que mant em constantes A = 1 e B = 1. Ent ao, a express ao booleana que identica este par de linhas e A B (ver ainda a Tabela 4.2). Segue-se que F = AB +... . Tamb em aqui, as retic encias incluem a contribui ca o do outro par de linhas. Da conjuga ca o destas duas express oes conclui-se que F (A, B, C ) = A B + A C , como j a tinhamos obtido. Podemos agora passar ao problema inverso, o da escrita de uma tabela de verdade a obten ca o da tabela a partir da express ao booleana da fun ca o que representa. Consideremos, como exemplo, a fun ca o F1 (A, B, C ) = A + A B + A B C . o uma) linha da tabela em A express ao parcial A B C vai identicar uma (e s que a fun ca o vale 1, mais concretamente a linha para a qual A = 0, B = 0 e C = 0 isto e, a linha 0 (ver a Tabela 4.3). Isto porque, para estes valores das vari aveis, temos A B C = 1 e, por conseguinte, ao esquecer que F1 e igual a ` soma l ogica desta express ao com outras, F1 = 1 (n e se a express ao vale 1, a fun c ao tamb em vale 1).

4.2. TABELAS DE VERDADE

57

Tabela 4.3: Tabela de verdade da fun ca o booleana simples F1(A, B, C ) = A + + A B + A B C (Nota: a numera ca o das linhas n ao faz parte da tabela )
Linha # 0 1 2 3 4 5 6 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F1 1 0 1 1 1 1 1 1 Esta quadra de linhas representa-se por A Este par de linhas representa-se por A B Esta linha representa-se por A B C

Reparar que uma linha da tabela vai corresponder a um produto l ogico que envolve todos os literais da fun ca o, no caso os literais A, B e C . ao falta Consideremos agora a express ao parcial A B de F1. Como a esta express um literal, ela vai identicar duas linhas da tabela em que a fun ca o vale 1. Mais exactamente, trata-se das linhas em que A = 0 e B = 1, ou seja, as linhas 2 e 3 (independentemente dos poss veis valores de C ). Finalmente, a express ao parcial A (em que faltam 2 literais) vai identicar quatro linhas da tabela em que a fun c ao vale 1. Ou seja, identica todas as linhas em que A = 1, isto e, as linhas 4 a 7 (independentemente dos poss veis valores de B ou de C ). Segue-se que F1 vale 1 nas linhas 0, 2, 3 e 4 a 7, e vale 0 na que resta, a linha 1. Naturalmente, existe uma outra forma de escrever a tabela de verdade de uma fun ca o, dada a sua express ao booleana. Basta ir gerando tabelas de verdade parciais para cada uma das parcelas da soma l ogica (ou factores do produto l ogico) da express ao. Por exemplo, a tabela de verdade da fun ca o anterior pode ser obtida como se ilustra na Tabela 4.4. Tabela 4.4: Tabela de verdade da fun ca o booleana simples F1(A, B, C ) = A + + A B + A B C , gerada a partir de tabelas de verdade parciais para cada uma das parcelas da soma l ogica
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 A 0 0 0 0 1 1 1 1 AB 0 0 1 1 0 0 0 0 ABC 1 0 0 0 0 0 0 0 F1 = A + A B + A B C 1 0 1 1 1 1 1 1

58

DAS FUNC CAP ITULO 4. REPRESENTAC AO OES

4.3

O Conjunto {AND, OR, NOT}

Qualquer fun ca o booleana simples pode ser representada recorrendo apenas a este conjunto de tr es fun co es. Por exemplo, a fun ca o Equival encia, A B , pode ser escrita de diversas formas, A B AB + AB = (A + B ) (A + B ) = AB AB = AB + AB, que apenas utilizam as fun co es do conjunto {AND, OR, NOT}. Para justicar que qualquer fun ca o booleana simples pode ser expressa usando apenas as fun co es do conjunto {AND, OR, NOT}, consideremos a tabela de verdade da Tabela 4.5, onde se apresentam tr es fun co es, F 1, F 2 e F 3, obtidas da tabela de verdade de uma fun c ao F arbitr aria, de modo a que cada uma das fun co es F 1 a F 3 apenas tem um 1 na tabela. Tabela 4.5: Tabela de verdade das fun co es F 1, F 2 e F 3, obtidas da tabela de verdade da fun ca o F
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F1 0 0 0 0 0 0 0 1 F2 0 0 0 0 0 0 1 0 F3 0 0 0 0 1 0 0 0 F 0 0 0 0 1 0 1 1
def

facil ver que F = F 1 + F 2 + F 3. E facil de ver tamb E em que F 1 = A B C , que a F 2 = A B C e que F 3 = A B C Logo, ser F = AB C +AB C + AB C.
Outros conjuntos universais s ao, por exemplo, {NAND} e {NOR}, como veremos ` a frente. Conjunto completo (universal)

Este m etodo e utiliz avel com generalidade. Logo, e sempre poss vel denir qualquer fun ca o booleana simples utilizando o conjunto {AND, OR, NOT}, pelo que este conjunto se designa por completo ou universal.

4.4

Representa c ao por Somas de Mintermos

Repare-se que o m etodo que se acabou de descrever possibilitou a passagem da representa ca o por tabela de verdade para uma representa ca o por express ao

4.4. SOMA DE MINTERMOS

59

alg ebrica. Por acaso, como sabemos, n ao se obteve a express ao alg ebrica mais simples poss vel para a fun ca o F . Contudo, esta express ao tem uma caracter stica muito importante: trata-se de uma uma soma de produtos e TODOS os produtos envolvem TODOS os literais da fun ca o (recordemos da p agina 49 que um literal e uma vari avel ou o seu complemento). Os produtos l ogicos deste tipo chamam-se mintermos ou termos minimais da fun ca o em causa. Repare-se que cada mintermo corresponde a um dos 1s da fun ca o. Por exemplo, o mintermo A B C corresponde ao 1 da u ltima linha da tabela. Se numerarmos as linhas da tabela de verdade como se fez atr as, com os equivalentes decimais dos n umeros bin arios que correspondem a `s quantidades booleanas gerais em cada linha [a linha correspondente a ` quantidade booleana geral (A, B, C ) = (0, 0, 0) e numerada com 0, a linha correspondente a ` quantidade booleana geral (A, B, C ) = (0, 0, 1) e numerada com 1, etc., se A for a vari avel com maior peso], obt em-se uma tabela de verdade como a da Tabela 4.1, que se repete na Tabela 4.6 por comodidade. Tabela 4.6: Tabela de verdade da fun ca o booleana simples F (A, B, C ) = = A B + A C onde se enumeram as linhas pelos equivalentes decimais dos n umeros correspondentes a `s quantidades booleanas gerais (Nota: a numera c ao das linhas n ao faz parte da tabela )
Linha # 0 1 2 3 4 5 6 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 0 1 0 1 1 Mintermo ou termo minimal

Podemos, assim, referir cada um dos mintermos pelo n umero da respectiva linha a o mintermo da tabela. Por exemplo, A B C ser a o mintermo m7 e A B C ser ca o s o faz sentido depois de termos atribu do m4 . Mais uma vez, esta numera pesos a `s vari aveis (no caso, admitiu-se que A era a vari avel com maior peso). Sendo assim, podemos escrever F = m4 + m6 + m7 = AB C +AB C +AB C, ou ainda, F = m(4, 6, 7) .

60
Soma de mintermos Primeira forma can onica ou forma can onica disjuntiva

DAS FUNC CAP ITULO 4. REPRESENTAC AO OES

A express ao, que eu nica para a fun ca o, e uma soma de mintermos. Trata-se da primeira forma can onica ou forma can onica disjuntiva da fun ca o. Cada fun ca o booleana simples e represent avel por uma e s o uma forma can onica disjuntiva, embora possa ser representada alg ebricamente por diversas formas normais disjuntivas.

4.5

Representa c ao por Produtos de Maxtermos

Tal como se constru u a express ao anterior em termos dos 1s da fun ca o, poder amos ter trabalhado com os 0s, como se ilustra na Tabela 4.7. Tabela 4.7: Tabela de verdade das fun co es G1 a G5, obtidas da tabela de verdade da fun ca o F
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 G1 0 1 1 1 1 1 1 1 G2 1 0 1 1 1 1 1 1 G3 1 1 0 1 1 1 1 1 G4 1 1 1 0 1 1 1 1 G5 1 1 1 1 1 0 1 1 F 0 0 0 0 1 0 1 1

Agora e f acil de ver que F = G1 G2 G3 G4 G5 , e, com algum trabalho de an alise, conclui-se que G1 = A + B + C G2 = A + B + C G3 = A + B + C G4 = A + B + C G5 = A + B + C Por exemplo, G1 vale 1 por toda a parte excepto para a linha (A, B, C ) = = (0, 0, 0), em que vale 0. Logo, G1 deve ser o complemento da fun ca o que apenas vale 1 nessa linha e 0 nas restantes, isto e, o complemento de m0 = A B C . Ou seja, G1 = A B C = A + B + C . Em resumo, F = (A + B + C ) (A + B + C ) (A + B + C ) (A + B + C ) ( A + B + C ) .

4.5. PRODUTO DE MAXTERMOS

61

Estamos, agora, na presen ca de um produto de somas em que TODOS os factores do produto envolvem TODOS os literais da fun ca o. Cada uma das somas e um maxtermo ou termo maximal da fun ca o. A express ao, por seu turno, e um produto de maxtermos. Trata-se da segunda forma can onica ou forma can onica conjuntiva da fun ca o, que eu nica para F . Cada fun ca o booleana simples e represent avel por uma e s o uma forma can onica conjuntiva, embora possa ser representada alg ebricamente por diversas formas normais conjuntivas. Os maxtermos est ao associados com os 0s da tabela de verdade da fun ca o e podem ser numerados. Assim, a fun ca o ser a F = (A + B + C ) (A + B + C ) (A + B + C ) (A + B + C ) (A + B + C ) = M0 M1 M2 M3 M5 = M (0, 1, 2, 3, 5) .

Maxtermo ou termo maximal Produto de maxtermos Segunda forma can onica ou forma can onica conjuntiva

Notemos a forma como s ao lidos da tabela de verdade os maxtermos e os mintermos da fun ca o: enquanto que para a obten ca o do ndice de um mintermo contam as vari aveis a 1 na tabela, para a forma ca o de um maxtermo contam as vari aveis s 0; a express ao de um mintermo e formada lendo cada vari avel a 1 e incluindo-a na express ao do mintermo na forma n ao complementada; por exemplo, o e formado pelo produto dos literais A, B e C ; mintermo m6 de F a express ao de um mintermo e formada pelo produto de literais que resultam de se considerar todas as vari aveis; por exemplo, a express ao do mintermo m6 de F e m6 = A B C ; a express ao de um maxtermo e formada lendo cada vari avel a 0 e incluindo-a na express ao do maxtermo na forma complementada; por exemplo, o maxe formado pela soma dos literais A, B e C ; termo M2 de F a express ao de um maxtermo e formada pela soma de literais que resultam de se considerar todas as vari aveis; por exemplo, a express ao do maxtermo M2 de F e M2 = A + B + C . Para terminar, vejamos a rela c ao entre os mintermos da primeira forma can onica e os maxtermos da segunda forma can onica de uma dada fun ca o. Como vimos atr as para uma fun ca o arbitr aria de 3 vari aveis, o maxtermo M0 = A + B + C e o complemento do mintermo m0 = A B C , e vice-se versa. Na realidade esta igualdade estende-se a todo o par (mi , Mi), mi = Mi e Mi = mi , 0 i 2n 1 ,

para qualquer fun ca o booleana simples de n vari aveis booleanas simples. Por em, n ao esquecer que, se a fun ca o possui mi na sua forma can onica disjuntiva, n ao onica conjuntiva (a fun ca o vale 1 ou vale 0 na pode possuir Mi na sua forma can linha i da tabela de verdade, mas n ao pode valer simultaneamente 1 e 0 nessa linha).

62

DAS FUNC CAP ITULO 4. REPRESENTAC AO OES

4.6
Logigrama

Representa c ao por Logigrama

Comecemos por considerar, na Figura 4.1, o logigrama correspondente a ` express ao em forma normal disjuntiva F = A B + A C .

B A

&

AB

F = AB + AC

&

AC

Figura 4.1: Logigrama correspondente a ` express ao em forma normal disjuntiva F = AB +AC Devemos notar, no logigrama, a forma gr aca de v arias portas l ogicas, j a conhecidas do Cap tulo 3, que representam as fun co es l ogicas envolvidas: 1. uma porta NOT, ou porta inversora, que implementa a fun ca o complementa ca o que transforma a vari avel booleana simples de entrada, C , na ` sa da; fun ca o booleana simples C a
1

2. duas portas AND com 2 entradas cada uma, uma que implementa a fun ca o produto l ogico das vari aveis booleanas simples A e B a `s entradas para dar a fun ca o booleana simples A B a ` sa da, e a outra que implementa a fun ca o produto l ogico da vari avel booleana simples A e da fun ca o booleana `s entradas para dar a fun c ao booleana simples A C a ` sa da; e simples C a
A B
&

AB

A C

&

AC

3. nalmente, uma porta OR que implementa a fun ca o soma l ogica das `s entradas para dar a fun ca o boofun co es booleanas simples A B e A C a ` sa da do circuito. leana simples F = A B + A C a
AB AC
1

AB + AC

Considere-se agora a representa ca o por soma de mintermos. O logigrama correspondente ser a o que se ilustra na Figura 4.2. Repare-se que cada mintermo e representado por uma porta l ogica AND com 3 entradas (porque cada mintermo envolve 3 literais). H a, portanto, uma correspond encia entre os 1s da tabela de verdade de uma fun ca o booleana simples,

POR LOGIGRAMA 4.6. REPRESENTAC AO


A B C

63

&

m7 = A B C

B
&

m6 = A B C

f=

m(4,6,7)

&

m4 = A B C

Figura 4.2: Logigrama correspondente a ` express ao em forma can onica disjuntiva F = m(4, 6, 7) os produtos na express ao booleana da primeira forma can onica da fun ca o, e as portas l ogicas na representa c ao gr aca (logigrama). De notar ainda que os s mbolos IEC das portas NOT se encontram numa posi ca o que n ao e habitual. Tal decorre das regras muito rigorosas denidas na norma IEC 61802-1 quanto ao posicionamento dos s mbolos. Esta quest ao vem aprofundada no Ap endice B. Dado conhecermos j a os s mbolos IEC das portas l ogicas mais usuais, devemos agora perguntar quantas entradas podem essas portas possuir (no Cap tulo anterior apenas se apresentaram s mbolos para portas com 1, 2 e 3 entradas). Obviamente com a excep ca o da porta NOT, que apenas tem uma entrada, qualquer porta l ogica pode, teoricamente, ter o n umero de entradas que quisermos. Contudo, raz oes tecnol ogicas associadas ao fabrico dos circuitos integrados que as implementam sicamente nos circuitos digitais (como veremos no Cap tulo 6) xam o n umero de entradas das portas a duas, tr es, quatro, cinco e, por vezes, oito. Mas n ao h a nada de r gido nesta arma ca o, e o aluno deve assegurar-se, caso a caso, que a porta l ogica de que necessita possui o n umero de entradas pretendidas. A t tulo de exemplo, apresentam-se de seguida os s mbolos de duas portas com um n umero de entradas pouco habitual: uma porta NAND com 5 entradas:
A B C D E
&

Norma IEC 61082-1

S mbolo de uma porta NAND com 5 entradas ABCDE

64
S mbolo de uma porta NOR com 4 entradas

DAS FUNC CAP ITULO 4. REPRESENTAC AO OES

uma porta NOR com 4 entradas:


A B C D
1

A+B+C+D

Note-se, mais uma vez, que as portas XOR e XNOR em geral apenas possuem 2 entradas, e que as fun co es OU-exclusivo e Equival encia com mais do que 2 vari aveis booleanas simples s ao constru das a ` custa de m ultiplas portas com 2 entradas, utilizando as correspondentes propriedades associativas. Por exemplo, a fun ca o A B C e formada da seguinte maneira:
A B C
=1 =1

ABC

Por outro lado, utilizam-se muitas vezes os teoremas relativos ao OU-exclusivo da Subsec ca o 3.5.2 para formar nega co es de vari aveis ou fun co es. Por exemplo, atendendo a que A 1 = A, podemos substituir uma porta NOT da seguinte maneira:
A H
=1

A1= A

Notemos como neste logigrama o valor l ogico 1 vem representado por um n vel H (algo que estudaremos mais tarde, quando se falar na l ogica de polaridade no Cap tulo 7). Finalmente, h a ocasi oes em que necessitamos de uma porta com um elevado n umero de entradas mas n ao dispomos de tal porta. No caso em que a correspondente fun ca o booleana e associativa podemos fazer como anteriormente para a fun ca o Ou-exclusivo, como em
A B C D E F
& & &

ABCD EF

Mas aten ca o que as fun co es NAND e NOR n ao s ao associativas, pelo que a solu ca o anterior n ao lhes e aplic avel.

4.7

Import ancia das Fun c oes NAND e NOR

Como se viu, qualquer fun c ao pode ser representada como uma soma de mintermos. Seja, por exemplo, a fun ca o anteriormente dada como exemplo: F = AB C +AB C + AB C.

4.8. REFERENCIAS BIBLIOGRAFICAS

65

Como sabemos, a dupla nega ca o n ao altera uma fun ca o (teorema da involu ca o), donde: F = AB C +AB C +AB C. Mas, aplicando uma das leis de de Morgan obtemos F = (A B C ) (A B C ) (A B C ) . Ora, nesta express ao s o surgem NANDs e NOTs: 1. o NAND com 3 entradas A B C ; 2. o NAND com 3 entradas A B C ; 3. o NAND com 3 entradas A B C ; 4. o NAND global, ainda com 3 entradas, (A B C ) (A B C ) (A B C ); e 5. os NOTs B e C . Por outro lado, um NOT pode ser feito com um NAND, uma vez que A A = A ou ainda que A 1 = A. Isso signica que podemos utilizar apenas NANDs na representa ca o da fun ca o. Do mesmo modo, e partindo da segunda forma can onica, pode-se mostrar que a fun ca o pode ser representada apenas por NORs. E, naturalmente, o que e v alido para a fun ca o F e v alido para qualquer fun ca o booleana simples. Da que os conjuntos {NAND} e {NOR} sejam conjuntos completos, tal como o e o conjunto {AND, OR, NOT}, como vimos anteriormente.

4.8

Refer encias Bibliogr acas

S erro, Carlos Sistemas Digitais: Fundamentos Alg ebricos, IST Press, Lisboa, 2003, Cap tulo 5. Arroz, G. S., Monteiro, J. C. e Oliveira, A. L. Introdu ca o aos Sistemas Digitais e Microprocessadores, Sec c oes 3.1.10 a 3.1.13, e 3.2. Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 2.3 e 2.6.

4.9

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER.

66

DAS FUNC CAP ITULO 4. REPRESENTAC AO OES

4.1 Dada a express ao em forma normal conjuntiva da fun c ao booleana simples f1 = (a + b) (a + c) (b + c) , determinar a sua express ao mais simples em forma normal disjuntiva. 4.2 Dada a express ao em forma mista da fun ca o booleana simples f2 = a b + a b c (x + y) , coloc a-la na forma: (i) de uma soma de produtos; e (ii) de um produto de somas. () 4.3 Desenhar as tabelas de verdade das seguintes fun c oes booleanas simples, a) b) c) d) e) F1(A, B, C ) = A B C + A B C + A C ; F2(A, B, C ) = A (B + C ) (B + C ); F3(A, B, C, D) = A [B + C (B + D)]; F4(A, B, C ) = A C + B C ; F5(A, B, C ) = A (B C + B C ),

e identicar, para cada uma delas, as correspondentes formas can onicas. 4.4 Vericar, examinando todos os casos poss veis, que A B +A C +B C =A B + +A C . () 4.5 Considere as seguintes fun co es booleanas simples: a) b) f (A, B, C ) = (A B ) C + A (B C ); f (A, B, C, D) = A + A B C + C D (C D + C D) + + C D (C D + CD).

Escreva-as na forma normal conjuntiva (produto de somas) mais simples que conseguir. 4.6 Considere a fun ca o de 3 vari aveis dada pela express ao f (A, B, C ) = (A + B ) A B C . Escreva esta fun ca o na forma de uma soma de produtos. 4.7 Numere os seguintes mintermos e maxtermos: (a) (c) (e) () A + B; A B C; A B C D; (b) (d) (f) A C; A + B + C; A + B + B + D.

4.8 Represente por uma soma de mintermos e por um produto de maxtermos a fun ca o f (A, B, C ) = (A + B ) C + (A C ) A B . 4.9 Dada a fun ca o f (A, B, C, D) = (A + B ) C + A (C D) + A B C D , obtenha: a) a tabela de verdade; b) a express ao em soma de mintermos; c) a express ao em produto de maxtermos; d) a express ao em soma de mintermos da fun ca o f (A, B, C, D).

()

4.9. EXERC ICIOS

67

() 4.10 Utilizar o conjunto completo {AND,OR,NOT} para representar algebricamente (em somas de produtos) as seguintes fun co es booleanas simples: a) b) f1 = (a b c) a; f2 = (a b) c.

() 4.11 Representar as seguintes fun co es booleanas simples em primeira forma can onica: a) f1 = (a b c) a; b) f2 = (a b) c. () 4.12 Representar as seguintes fun co es booleanas simples em segunda forma can onica: a) f1 = (a b c) a; b) f2 = (a b) c. 4.13 Tra car os logigramas correspondentes a `s express oes dadas para as seguintes fun co es booleanas simples: a) b) c) f = a c + b c + a b c; g = (a + b c) a; h = M (2, 4, 6, 7).

() 4.14 Considere o logigrama da Figura 4.3.


A D B
& =1 1 & & 1

A D

Figura 4.3: Logigrama utilizado no Exerc cio 4.14 Redesenhe-o da forma mais simples que conseguir. () 4.15 Usando apenas: a) b) c) NANDs; NORs; AOIs,

desenhe o logigrama da seguinte fun ca o: f (A, B, C ) = (A C ) B + B C + A C . (Nota : AOI e a sigla de And-Or Invert. Ou seja, o logigrama deve apresentar um primeiro andar com portas AND e um segundo andar com uma porta NOR). 4.16 Modicar o logigrama do Exerc cio 4.14 por forma a apenas se usarem portas NANDs.
And-Or Invert (AOI)

68

DAS FUNC CAP ITULO 4. REPRESENTAC AO OES

4.17 Modicar o logigrama do Exerc cio 4.14 por forma a apenas se usarem portas NORs. 4.18 Ponha as seguintes fun co es a) b) c) f = A (B + (C D) (A + B )) + A B C + B (C D); f = (A + B ) (C + D) (A + B ) (A + D); f = (A + B + C ) (C + D) (A D),

na forma de: a) uma soma de produtos; b) um produto de somas.

Cap tulo 5

M etodo de Karnaugh
5.1 Simplica c ao Alg ebrica de Fun co es Booleanas Simples
Express oes simplicadas

A simplica ca o alg ebrica pode ser utilizada para se obterem express oes booleanas mais simples (express oes simplicadas) para as fun c oes, ou para se obterem express oes sob determinadas formas. Como exemplo, consideremos a simplica ca o alg ebrica da seguinte fun ca o booleana simples, f (a, b, c) = a b c + a c + b c . Fazemos: f (a, b, c) = a b c + a c + b c = (a b + a + b) c = (b + a + b) c = 1c = c. Suponhamos agora que pretendemos obter, a partir da express ao de uma fun ca o booleana simples, g(a, b, c, d) = a b d + a c d + a c d + a b d , uma outra express ao que apenas possua operadores de duas vari aveis e nega co es. Fazemos: g(a, b, c, d) = a b d + a c d + a c d + a b d = a ( b d + c d ) + a ( c d + b d) . E se pretendermos colocar a express ao do exemplo anterior s o em NANDs fazemos: g(a, b, c, d) = a b d + a c d + a c d + a b d = (a b d) (a c d) (a c d) (a b d) . 69

70

CAP ITULO 5. METODO DE KARNAUGH

5.2
Express oes m nimas

Minimiza c ao de Fun co es Booleanas Simples

O que se pretende agora e obter a express ao ou express oes m nimas de uma dada fun ca o. Naturalmente, o conceito de m nimo depende do crit erio que escolhermos. Usaremos como crit erio o n umero de termos na express ao (termos produto numa soma de produtos ou termos soma num produto de somas) e o n umero de literais nos termos. Presume-se a representa c ao de uma fun ca o a dois n veis, isto e, numa das suas formas normais ou can onicas, disjuntivas ou conjuntivas. A minimiza c ao alg ebrica por utiliza ca o dos axiomas e teoremas da a lgebra de Boole bin aria e poss vel (temos vindo a faz e-la) mas e, por vezes, dif cil e carece de experi encia. Preferimos, por isso, recorrer a um m etodo semi-gr aco designado por m etodo de Karnaugh.

5.3

Adjac encias em Mapas de Karnaugh

Antes de passarmos ao m etodo semi-gr aco de Karnaugh, iremos ver de seguida que h a m etodos tabulares interessantes para simplicar fun co es booleanas. Como se viu anteriormente, uma fun ca o pode ser representada de v arias formas. Por exemplo, a fun ca o F = A B + A C que temos vindo a usar pode ser representada pela tabela de verdade da Tabela 4.1 e que se reproduz, por comodidade, na Tabela 5.1. Tabela 5.1: Tabela de verdade da fun ca o booleana simples F (A, B, C ) = A B + +A C
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 0 1 0 1 1

A partir desta tabela podemos ler a correspondente forma can onica disjuntiva, F = AB C +AB C + AB C, que j a vimos que pode vir simplicada alg ebricamente para: F = AB C +AB C +AB C = A C (B + B ) + A B (C + C ) = AB + AC.

5.3. ADJACENCIAS

71

Do mesmo modo que a representa ca o de fun co es pode ser feita indiferentemente utilizando uma forma tabular ou uma express ao booleana, o pr oprio processo de simplica ca o pode ser feito dos dois modos. Reparemos, ent ao, na forma como se chegou ao termo A B na express ao acima. Isso conseguiu-se por jun ca o dos mintermos A B C e A B C que correspondem a `s linhas 6 e 7 (a negrito) na tabela.
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 0 1 0 1 1

Reparemos que essas linhas t em uma particularidade: em ambas a fun ca o vale 1 (naturalmente) e, s ao as duas u nicas linhas da tabela em que A e B valem simultaneamente 1. A diferenca entre as duas linhas est a na vari avel C . Logo, pode-se concluir que, nesta fun ca o, basta A e B valerem 1 para a fun ca o tamb em valer 1. Da a conclus ao que F = A B + . Podia ser feito o mesmo racioc nio para o outro produto. Mas, nesse caso, as linhas em causa s ao a 4 e a 6.
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 0 0 0 0 1 0 1 1

f E acil de ver que, agora, basta que A seja 1 e C seja 0 para se concluir que a fun ca o vale 1. Da que tamb em podemos escrever F = A C + . E como n ao h a mais 1s, podemos concluir que F = A B + A C , como tinhamos visto anteriormente. Podemos, ent ao, simplicar directamente a fun ca o por observa ca o da tabela associando linhas em que a fun ca o tenha o valor 1 e que diram apenas de uma vari avel : no primeiro produto associamos as linhas 6 e 7, que diferem apenas na vari avel C , e no segundo associamos as linhas 4 e 6, que diferem apenas na vari avel B .

72
Linhas adjacentes

CAP ITULO 5. METODO DE KARNAUGH

Destas linhas, que diferem apenas de uma vari avel, diz-se serem adjacentes. claro que era bom, como aconteceu no primeiro caso, que todas as linhas adjaE centes estivessem sicamente encostadas. Mas, com 3 vari aveis, cada linha tem sempre 3 linhas adjacentes e, na tabela, e imposs vel colocar sicamente uma linha encostada a outras tr es. Esta situa ca o levou a ` altera ca o da tabela, de forma a que se satiszessem estes requisitos. Esta nova forma de desenhar a tabela designa-se por quadro de Karnaugh ou mapa de Karnaugh. Na Figura 5.1 apresenta-se um quadro de Karnaugh gen erico para uma fun ca o booleana simples de 3 vari aveis (ou seja, um quadro em que n ao se representa, internamente, a fun ca o).

Quadro (mapa) de Karnaugh Quadro de Karnaugh com 3 vari aveis

BC A 00 0 1 A1

01 A2 P

11

10

A3

Figura 5.1: Quadro de Karnaugh gen erico de uma fun ca o de 3 vari aveis onde se ilustram alguns quadrados adjacentes
Quadrados adjacentes

Repare-se que, para cada posi ca o do mapa, h a 3 quadrados adjacentes. Por exemplo a posi ca o P tem, como posi co es adjacentes: (i) a posi ca o A1, que se diferencia de P apenas por causa da vari avel C ; (ii) a posi c ao A2, que e diferente apenas na vari avel A; e (iii) e a posi ca o A3, que e diferente apenas na vari avel B. Repare-se que tudo se passa como se as posi co es laterais estivessem encostadas, o que se conseguiria com o mapa desenhado sobre um cilindro de eixo vertical (Figura 5.2).

BC A 00 0 1 A3

01

11

10 A2

A1

Figura 5.2: Quadro de Karnaugh de uma fun ca o de 3 vari aveis onde se ilustram outros quadrados adjacentes a ilustrada no mapa A fun c ao F = A B + A C que temos vindo a considerar est de Karnaugh da Figura 5.3, que tamb em mostra a leitura da sua express ao simplicada. S ao v alidas no mapa de Karnaugh todas as associa co es de 2 elementos adjacentes, n ao s o no sentido formal do termo, mas tamb em no de localiza ca o cont gua no mapa.

5.3. ADJACENCIAS
BC A 00 0 1 0 1

73

01 0 0

11 0 1

10 0 1 AB AC

F = AB + AC

Figura 5.3: Quadro de Karnaugh da fun c ao F = A B + A C , com leitura da sua express ao simplicada Como e f acil de ver, a numera ca o das linhas da tabela de verdade da fun ca o passam para as correspondentes posi co es no quadro de Karnaugh pela ordem que se indica na Figura 5.4.
BC A 00
0 1

01
3

11
2

10 0
6

0
4

0
5

0
7

0 1

Figura 5.4: Quadro de Karnaugh de uma fun c ao booleana simples de 3 vari aveis onde se identicam os seus 8 quadrados, numerando-os de 0 a 7, de acordo com os equivalentes num ericos dos n umeros bin arios correspondente a `s quantidades booleanas gerais (A, B, C ) = (0, 0, 0) a (A, B, C ) = (1, 1, 1) Devemos acentuar que esta n ao eau nica forma de desenhar o mapa de Karnaugh de uma fun ca o de 3 vari aveis. Consideremos outro exemplo: F = de Karnaugh da Figura 5.5.
BC A
0

m(0, 2, 4, 5, 6) e o correspondente mapa

00
1

01
3

11
2

10 1
6

0 BC 1
4

1
5

0
7

0 0

1 AB

BC

F = AB+BC +BC

Figura 5.5: Quadro de Karnaugh da fun ca o F = m(0, 2, 4, 5, 6), com os agrupamentos de unidades que d ao uma express ao simplicada, F = A B + + BC +BC f E acil de ler do mapa a express ao F = AB + BC + BC . Mas tamb em e f acil de ver que os dois termos nais se podem simplicar,

74

CAP ITULO 5. METODO DE KARNAUGH

obtendo-se para a fun ca o a express ao mais simples F = AB + C. Ora esta express ao e igualmente leg vel no mapa de Karnaugh. De facto, os dois grupos de dois 1s nas extremidades do mapa s ao adjacentes e podem juntar-se entre si para originar o quadro da Figura 5.6, onde e f acil agora ler directamente a express ao mais simplicada.
BC A
0

C 00
1

01
3

11
2

10 1
6

0
4

1
5

0
7

0 0

1 AB

F = AB+C

Figura 5.6: Quadro de Karnaugh da fun ca o F = m(0, 2, 4, 5, 6), com os agrupamentos de unidades que d ao uma express ao mais simplicada, F = A B + +C

5.4

Quadros de Karnaugh com 4 Vari aveis

O mapa de Karnaugh anterior foi apresentado para 3 vari aveis booleanas simples. Contudo, pelo menos em teoria, podemos construir um mapa com um n umero arbitr ario de vari aveis. Na pr atica, por em, com mais de 6 vari aveis torna-se bastante dif cil a utiliza ca o dos mapas de Karnaugh e, al em disso, h a outros m etodos de minimiza ca o mais ecazes (que, no entanto, assentam nos mesmos princ pios do m etodo agora apresentado).
Quadro de Karnaugh com 4 vari aveis

Um quadro com 4 vari aveis constr oi-se facilmente. A partir de um mapa de 3 vari aveis, replica-se o quadro por reex ao num espelho imagin ario, como se sugere na Figura 5.7.
CD AB
0

00
1

01
3

11
2

10

00
4 5 7 6

01
12 13 15 14

11
8 9 11 10

10

Figura 5.7: Quadro de Karnaugh para uma fun ca o booleana simples com 4 vari aveis booleanas simples Repare-se na vari avel assinalada a negrito que e a que distingue os dois lados do mapa. Repare-se, ainda, na numera ca o das diversas posi co es.

5.4. QUADROS DE KARNAUGH COM 4 VARIAVEIS

75

Uma vez constru do um quadro de 4 vari aveis, vejamos agora como podemos inserir no mapa uma fun ca o com o mesmo n umero de vari aveis, por exemplo F = m(1, 5, 6, 7, 11, 12, 13, 15) .

O quadro da fun ca o vem ilustrado na Figura 5.8.


CD AB
0

00
1

01
3

11
2

10 0
6

00
4

0
5

1
7

0 1
15 14

01
12

0
13

1 1
9 11

1 0
10

11
8

1 0

1 1

10 F =

m(1, 5, 6, 7, 11, 12, 13, 15)

Figura 5.8: Quadro de Karnaugh da fun ca o F = Passemos agora a ` minimiza ca o desta fun ca o.

m(1, 5, 6, 7, 11, 12, 13, 15)

` primeira vista, poderia parecer interessante juntar os 4 1s centrais num A grupo u nico. No entanto, para cobrir os restantes 1s haveria a necessidade de associar cada um deles com um dos 1s do grupo central, como se ilustra na Figura 5.9(a).
CD AB 00 01 11 10 00 0 0 1 0 01 1 1 1 0 (a) 11 0 1 1 1 10 0 1 0 0 AB 00 01 11 10 CD 00 0 0 1 0 01 1 1 1 0 (b) 11 0 1 1 1 10 0 1 0 0

Figura 5.9: (a) Quadro de Karnaugh da fun ca o anterior, com uma tentativa de agrupamentos que n ao e a mais simples; (b) remove-se o grupo central, por ser redundante Verica-se, portanto, que o grupo central n ao e necess ario. Restam os outros grupos, como se indica na Figura 5.9(b). A leitura deste quadro e f acil (Figura 5.10), conduzindo a ` seguinte express ao m nima em soma de produtos: F (A, B, C, D) = A C D + A B C + A B C + A C D . Notemos como se l e cada um dos agrupamentos. Para tanto, vamos dar dois exemplos.

76

CAP ITULO 5. METODO DE KARNAUGH


ACD 00 00 01 ABC 11 10 0 0 1 0 01 1 1 1 0 11 0 1 1 1 10 0 1 0 0 AC D ABC

CD AB

Figura 5.10: Leitura do quadro de Karnaugh da fun ca o anterior ao deste agrupamento resulta do facto de os 1. Grupo A B C a express literais A e B e C se manterem com um valor constante dentro do grupo; quanto a ` vari avel D, n ao aparece na express ao porque n ao se mant em constante dentro do grupo. em-se constantes dentro do 2. Grupo A B C os literais A, B e C mant grupo, enquanto que a vari avel D desaparece porque varia dentro do grupo.

5.5

Implicantes e Implicantes Primos

Para um pouco mais de aprofundamento sobre o m etodo de Karnaugh que nos permita perceber melhor o que realmente estamos a fazer e, portanto, tra car t acticas adequadas, vamos dar algumas deni c oes: Para fun co es das mesmas vari aveis, diz-se que uma fun ca o booleana simples F 1
Fun c ao implica c ao Implicante

implica outra fun ca o F 2 quando, para todas as quantidades booleanas gerais de

entrada em que a fun ca o F 1 vale 1, a fun ca o F 2 tamb em vale 1. Quando F 1 e um produto, diz-se ser um implicante da fun ca o F 2. No nosso caso, por exemplo, A C D e um implicante da fun ca o F . Repare-se que todos os mintermos de uma fun ca o F s ao implicantes dessa fun ca o. Nos quadros de Karnaugh, os implicantes correspondem a associa c oes v alidas de 1s . No mapa da Figura 5.11, indicam-se alguns implicantes da fun ca o de 3 vari aveis, F = m(0, 2, 4, 5, 6).
BC A 00
0 1

01
3

11
2

10 1
6

0
4

1
5

0
7

0 0

Figura 5.11: Quadro de Karnaugh da fun ca o de 3 vari aveis F = com alguns implicantes da fun ca o

m(0, 2, 4, 5, 6)

5.5. IMPLICANTES E IMPLICANTES PRIMOS

77

em de ser um implicante Repare-se que o mintermo m6 , por exemplo, para al da fun ca o e tamb em um implicante do produto que resulta da associa ca o dos mintermos m2 e m6 , isto e, B C . Repare-se, ainda, que este produto e implicante do produto correspondente a ` e, C . associa ca o dos mintermos m0 , m2 , m4 e m6 , isto Por m, constate-se que este u ltimo implicante n ao implica mais nenhum produto, implicando apenas a fun ca o. Ao implicante de uma fun ca o booleana simples que n ao implica nenhum outro implicante chama-se implicante primo da fun ca o. A import ancia dos implicantes primos decorre de eles corresponderem, no mapa de Karnaugh, aos grupos maiores, que n ao podem ser expandidos. Ora acontece que esses s ao exactamente os grupos que nos interessam para as minimiza co es, j a que possuem as express oes mais simples, com menos literais. A express ao alg ebrica minimizada de uma fun ca o expressa em soma de produtos e sempre uma soma de implicantes primos da fun ca o. Retome-se o exemplo anterior da fun ca o de 4 vari aveis, F = m(1, 5, 6, 7, 11, 12, 13, 15) .
Implicante primo

Soma de implicantes primos

Na Figura 5.9(a) est ao assinalados todos os implicantes primos de F . Por em, como vimos, nem todos os implicantes primos da fun ca o foram usados na express ao minimizada, como se viu no quadro da Figura 5.9(b) e que se repete na Figura 5.12, por comodidade.
CD AB
0

AC D 00
1

01
3

11
2

10 0
6

00
4

0
5

1
7

0 1
15 14

01
12

0
13

1 1
9 11

1 0
10

ABC

ABC

11
8

1 0

1 1

10

ACD

Figura 5.12: (a) Quadro de Karnaugh da fun ca o booleana simples F = = m(1, 5, 6, 7, 11, 12, 13, 15) que assinala os implicantes primos da fun c ao por interm edio dos quadrados assinalados a cinzento Repare-se que cada um dos implicantes primos usados tem uma particularidade fundamental: O implicante primo A C D, por exemplo, e o u nico que associa o mintermo correspondente ao quadrado 11 (assinalado a cinzento), isto e, m11 . Do mesmo modo, cada um dos outros implicantes primos associa um mintermo que n ao pode ser associado de outra forma. Assim, o implicante A B C e primo por causa do mintermo m12 , no quadrado 12 assinalado a cinzento; o implie primo por causa do mintermo m1 , no quadrado 1 assinalado a cante A C D

78

CAP ITULO 5. METODO DE KARNAUGH

e primo por causa do mintermo m6 , no quadrado cinzento; e o implicante A B C 6 assinalado a cinzento. Ao contr ario, o implicante primo correspondente a `s posi co es centrais do mapa (que acabou por n ao ser usado), associa mintermos que podem ser associados de outra forma, pelo que n ao e um implicante fundamental para a minimiza ca o da fun ca o.
Implicante primo essencial

Os implicantes primos que associam mintermos que n ao podem ser associados em implicantes primos de outra forma, s ao designados por implicantes primos essenciais da fun ca o. E os quadrados que cont em mintermos que tornam essencial um dado implicante primo (como os assinalados a cinzento na Figura 5.12) designam-se por quadrados essenciais. Como vimos, a express ao alg ebrica de uma fun ca o em termos de soma de produtos e uma soma de implicantes primos. Mas n ao t em que ser usados todos os implicantes primos. No entanto, todos os implicantes primos essenciais t em de estar presentes na express ao m nima . ao No exemplo anterior, os implicantes primos A C D, A B C , A C D e A B C s implicantes primos essenciais da fun ca o, e a express ao minimizada e a soma desses implicantes. Conv em referir que, embora neste exemplo os u nicos implicantes usados sejam implicantes primos essenciais, isso n ao e uma regra geral. Com efeito, repare-se na fun ca o da Figura 5.13.
CD AB
0

Quadrado essencial

AC D 00
1

01
3

11
2

10 1
6

AB D

00 ABC 01
12 4

1
5

1
7

0 1
15 14

0
13

1 0
9 11

0 0
10

ABD

11
8

0 0

0 1

10

ABCD

Figura 5.13: (a) Quadro de Karnaugh de uma fun ca o que possui implicantes primos essenciais (devido aos quadrados assinalados a cinzento) e n ao essenciais Neste exemplo, os implicantes primos s ao os seguintes: 1. A B D e um implicante primo essencial por ser o u nico implicante primo a associar o mintermo m2 , correspondente ao quadrado 2 no mapa (quadrado essencial); e um implicante primo essencial por ser o u nico implicante 2. A B D primo a associar o mintermo m7 , correspondente ao quadrado 7 no mapa (quadrado essencial); 3. A B C D e um implicante primo essencial por ser um mintermo (o ao pode ser associado com qualquer outro mintermo mintermo m11) que n (quadrado essencial);

COM INDIFERENC 5.6. MINIMIZAC AO AS

79

e um implicante primo n ao essencial porque ambos os mintermos 4. A B C nele associados podem ser associados de outras formas; 5. A C D e um implicante primo n ao essencial porque ambos os mintermos nele associados podem ser associados de outras formas. Neste caso, a express ao m nima da fun c ao incluir a todos os implicantes primos essenciais e um dos n ao essenciais, dessa forma se associando todos os mintermos da fun ca o. H a, portanto, duas express oes minimas para a fun ca o: F = AB D +AB D + AB CD +AB C, e F = AB D +AB D +AB CD +AC D. Conv em tamb em chamar a aten ca o para o facto de que podem existir fun co es sem implicantes primos essenciais na sua soma de produtos m nima. Com efeito, considere-se na Figura 5.14 o exemplo da fun ca o G= m(0, 1, 5, 7, 8, 10, 14, 15) .

CD AB
0

ABC 00
1

CD 10
2

AC D 00 01
1 3

01
3

11 0
7 6

AB
0

11
2

10 0
6

00
4

1
5

1 1
13 15

0 0
14

00
4

1
5

1
7

0 1
15 14

01
12

0 0
8 9

1 1
11 10

ABD ABC

01
12

0
13

1 0
9 11

0 1
10

BCD

11 10

0 0 ABD

1 1

11
8

0 1

1 0

10

0 BCD

AC D

Figura 5.14: Quadro de Karnaugh de uma fun ca o, G, que n ao possui implicantes primos essenciais e que tem duas somas de produtos m nimas Como podemos constatar, esta fun ca o possui duas express oes minimas, G = ABC + ABD + ABC + ABD e G = AC D +B CD +AC D +B CD, e n ao tem quaisquer implicantes primos essenciais.

5.6

Minimiza c ao com Indiferen cas

Por vezes acontece que, numa fun ca o l ogica, certas congura co es de entradas poss nunca ocorrem. E vel tirar partido desse facto para, em muitos casos, minimizar adicionalmente a express ao alg ebrica da fun ca o.

80

CAP ITULO 5. METODO DE KARNAUGH

Estudemos um exemplo, ao longo do qual se explora a metodologia a usar. Consideremos que se pretende obter uma fun ca o que tem como vari aveis de entrada os quatro bits de uma representa ca o em c odigo BCD, e que deve gerar na saida um 1 apenas quando o n umero representado for m ultiplo de 3. Podemos construir a tabela de verdade da fun ca o pretendida (Tabela 5.2). As vari aveis de entrada s ao A3, A2, A1 e A0, que representam os quatro bits do c odigo BCD (A3 tem o maior peso). Tabela 5.2: Tabela de verdade de uma fun ca o booleana simples detectora de d gitos BCD que s ao m ultiplos de 3
BCD 0 1 2 3 4 5 6 7 8 9 A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 0 0 0 1 0 0 1 0 0 1 Observa co es N ao e m ultiplo de 3 N ao e m ultiplo de 3 N ao e m ultiplo de 3 m E ultiplo de 3 N ao e m ultiplo de 3 N ao e m ultiplo de 3 m E ultiplo de 3 N ao e m ultiplo de 3 N ao e m ultiplo de 3 m E ultiplo de 3 N ao e BCD N ao e BCD N ao e BCD N ao e BCD N ao e BCD N ao e BCD

Repare-se que temos tr es situa co es diferentes: d gitos BCD que s ao m ultiplos de 3 (F = 1); d gitos BCD que n ao s ao m ultiplos de 3 (F = 0);
Indiferen ca

congura co es de entrada que n ao s ao d gitos BCD (assinaladas com os s mbolos na tabela), indicadoras de indiferen cas. Neste u ltimo caso n ao e importante considerar o valor da fun ca o, uma vez que as congura co es de entrada respectivas nunca ocorrem e, portanto, o valor que a fun ca o teria nessa situa c ao e indiferente. Inicialmente n ao vamos ter isso em conta e vamos obter a express ao m nima da fun ca o com valores 0 nessas posi co es (a op ca o mais conservadora), como se ilustra na Figura 5.15. Obtemos, neste caso, F = A3 A2 A1 A0 + A3 A2 A1 A0 + A3 A2 A1 A0 .

COM INDIFERENC 5.6. MINIMIZAC AO AS


A1 A0 A3 A2 00
0 1

81

01
3

11
2

10 0
6

00
4

0
5

0
7

1 0
15 14

01
12

0
13

0 0
9 11

1 0
10

11
8

0 0

0 0

10

Figura 5.15: Quadro de Karnaugh de uma fun ca o booleana simples que detecta d gitos BCD s ao m ultiplos de 3; admite-se que se colocam 0s nos quadrados 10 a 15, que correspondem a valores nas entradas que n ao s ao d gitos BCD Mas experimentemos agora protelar para mais tarde a atribui ca o de valores a ` fun ca o nas congura co es que n ao correspondem a d gitos BCD, colocando indiferen cas no quadro (Figura 5.16).
A1 A0 A3 A2 00
0 1

01
3

11
2

10 0
6

00
4

0
5

0
7

1 0
15 14

01
12

0
13

11
8

9 11 10

10

Figura 5.16: Quadro de Karnaugh de uma fun ca o booleana simples que detecta d gitos BCD que s ao m ultiplos de 3; agora incluem-se indiferen cas nos quadrados que correspondem a quantidades booleanas gerais de entrada que n ao s ao d gitos BCD co es corresponConsidere-se, por exemplo, o mintermo m9 , a negrito. Se nas posi dentes a `s indiferen cas o valor da fun ca o fosse 1, poder-se-iam associar os quatro mintermos a negrito, simplicando consideravelmente a express ao. Mas como, de facto, o valor que a fun ca o toma nestas posi co es e indiferente, porque n ao colocar nesses quadrados os valores que mais nos conv em? O mesmo acontece para outras posi co es no mapa. Podemos, ent ao, fazer a minimiza ca o que se indica na Figura 5.17. E, neste caso, obtemos a seguinte soma de produtos m nima para a fun ca o: F = A3 A0 + A2 A1 A0 + A2 A1 A0 . Como se v e, e muito mais simples a express ao obtida por recorrermos ` a exibilidade que existe por serem certas posi co es indiferentes. Tenha-se em conta que a fun ca o descrita pela express ao obtida deixou de ter posi co es n ao denidas. As congura c oes de vari aveis de entrada correspondentes a `s indiferen cas que foram associadas com mintermos da fun ca o passaram

82

CAP ITULO 5. METODO DE KARNAUGH


A2 A1 A0 01
1 3

A3 A2

A1 A0 00
0

11
2

10 0
6

00
4

0
5

0
7

1 0
15 14

01
12

0
13

0
9 11

1
10

A2 A1 A0

11
8

0 A3 A0

10

Figura 5.17: Quadro de Karnaugh de uma fun ca o booleana simples que detecta d gitos BCD que s ao m ultiplos de 3, e correspondente minimiza ca o quando se consideram as indiferen cas a provocar uma saida igual a 1 para a fun ca o. E as que n ao foram associadas passaram a gerar uma saida igual a 0. Esta t ecnica de utiliza ca o das indiferen cas e generalizadamente usada para minimizar as express oes das fun co es l ogicas, que passam ent ao a designar-se por fun c oes incompletamente especicadas ou fun c oes incompletas, por oposi ca o a `s fun c oes completamente especicadas ou fun c oes completas, que n ao possuem indiferen cas.

Fun c oes completa e incompletamente especicadas

5.7

Quadros de 5 Vari aveis

A obten ca o de mapas de Karnaugh de 5 vari aveis faz-se a partir de um mapa de 4 vari aveis, da mesma forma que este se obteve a partir de um mapa de 3 vari aveis.
Quadro de Karnaugh com 5 vari aveis

Ilustra-se na Figura 5.18 uma estrutura poss vel de um quadro de 5 vari aveis, mostrando tamb em a numera ca o das diversas posi co es admitindo que a vari avel de maior peso e A e a de menor peso e E.
CDE 000
0

AB

001
1

011
3

010
2

110
6

111
7

101
5

100
4

00
8 9 11 10 14 15 13 12

01
24 25 27 26 30 31 29 28

11
16 17 19 18 22 23 21 20

10

Figura 5.18: Estrutura de um quadro de Karnaugh de 5 vari aveis, em que A e a vari avel de maior peso

5.7. QUADROS DE 5 VARIAVEIS

83

Para al em de todas as adjac encias v alidas num mapa de 4 vari aveis (em cada uma das metades) existem agora adjac encias entre posi co es sim etricas em rela ca o ao eixo de simetria vertical. Vejamos um exemplo. Consideremos a fun ca o F = m(0, 2, 6, 9 11, 13, 14, 16, 18, 20, 24, 31)

com indiferen cas nas posi co es 1, 4, 22 e 27, o que se pode representar, em alternativa, da seguinte forma F = m(0, 2, 6, 9 11, 13, 14, 16, 18, 20, 24, 31) + md (1, 4, 22, 27) ,

(notar que 9 11 e o mesmo que 9, 10, 11). O preenchimento do quadro permite obter a Figura 5.19.
C DE 000
0

AB

001
1

011
3

010
2

110
6

111
7

101
5

100
4

00
8

1
9

11

0
10

1
14

1
15

0
13

0
12

0
28

01
24

0
25

1
27

1
26

1
30

1
31

0
29

1 0
21 20

11
16

1
17

0
19

18

0
22

0
23

1 0

0 1

10

Figura 5.19: Quadro de Karnaugh da fun ca o booleana simples F = m(0, 2, 6, 9 11, 13, 14, 16, 18, 20, 24, 31) + md (1, 4, 22, 27)

Vamos mostrar como devemos minimizar esta fun ca o, come cando por identicar os implicantes primos essenciais (a cinzento na Figura 5.20). Como esta fun ca o possui v arios implicantes primos, essenciais e n ao essenciais, optou-se por ger a-los em mais de um quadro. Por outro lado, optou-se por n ao incluir os 0s no mapa, visto que apenas vamos tratar dos 1s e das indiferen cas. Esta e uma pr atica usual, que seguiremos daqui para a frente (excepto, claro est a, quando estivermos a lidar com os 0s e com as indiferen cas, como faremos no par agrafo seguinte, caso esse em que eliminaremos os 1s do quadro). Os implicantes primos essenciais s ao: o assinalado com IPE1, com a express ao B E , pois os mintermos m18 e m20 n ao t em outra forma de se associar em outros implicantes primos; O assinalado com IPE2, com a express ao A B D E , por causa do mintermo m13; O assinalado com IPE3, com a express ao A D E , por causa do mintermo m14 ; O assinalado com IPE4, com a express ao A B D E , por causa do mintermo m31;

84
C DE 000
0

CAP ITULO 5. METODO DE KARNAUGH

AB

001
1

011
3

010
2

110
6

111
7

101
5

100
4

00
8

1
9

11 10

1
14

1
15 13 12

1 IPE1
31 29 28

01
24 25

1
27

1
26

1
30

1 1

11
16

1
17 19

18 22 23

BE
21 20

10

1 (a)

AB

C DE 000
0

001
1

011
3

010
2

110
6

111
7

101
5

100
4

00
8

1
9

11 10

1
14

1
15 13 12

IPE2 1
31 29 28

01
24 25

1
27

1
26

1
30

1 1

ABDE

11
16

1
17 19

18 22 23

21

20

10

1 (b)

Figura 5.20: Minimiza ca o da fun ca o booleana simples F = 11, 13, 14, 16, 18, 20, 24, 31) + md (1, 4, 22, 27)

m(0, 2, 6, 9

O assinalado com IPE5, com a express ao A C D E , por causa do mintermo m24 . Repare-se que o grupo formado pela soma de mintermos m9 + m10 + m11 + m14 , embora muito tentador, n ao e correcto. Uma soma de produtos m nima e F = B E +ABDE +ADE +AB DE +AC DE +AB CE, mas devemos notar que esta express ao n ao eu nica.

5.8

Minimiza c ao Usando os Maxtermos

Do mesmo modo que se usaram, at e agora, no contexto do m etodo de Karnaugh, associa c oes de mintermos para obter express oes em somas de produtos (forma normal disjuntiva), e igualmente poss vel associar maxtermos, obtendo-se express oes em produtos de somas (forma normal conjuntiva).
Produto de implicados primos Implicado primo Implicado

A express ao alg ebrica minimizada de uma fun ca o expressa em produto de somas e sempre um produto de implicados primos, entendendo-se por implicado primo um implicado da fun ca o (ou que e implicado pela fun ca o) e que n ao e implicado por nenhum outro implicado da fun ca o.

USANDO OS MAXTERMOS 5.8. MINIMIZAC AO


IPE3 AB CDE 000
0

85

ADE 001
1

011
3

010
2

110
6

111
7

101
5

100
4

00
8

1
9

11 10

1
14

1
15 13 12

1
31 29 28

01
24 25

1
27

1
26

1
30

1 1

11
16

1
17 19

18 22 23

21

20

10

1 (c)

AB

CDE 000
0

001
1

011
3

010
2

110
6

111
7

101
5

100
4

00
8

1
9

11 10

1
14

1
15 13 12

1 IPE4
31 29 28

01
24 25

1
27

1
26

1
30

1 1

11
16

1
17 19

18 22 23

AB DE
21 20

10

1 (d)

Figura 5.20: cont . Recorde-se que os maxtermos s ao identicados por 0s nos mapas de Karnaugh (ou nas tabelas de verdade) das fun co es, pelo que os implicados primos corresponder ao aos agrupamentos maiores que e poss vel fazer com os 0s e que obedecem a `s regras de forma ca o de agrupamentos no m etodo de Karnaugh. Estudemos ent ao um exemplo. Seja F = M (1, 3, 9, 11, 12, 13, 14), com indiferen cas nas posi co es 4, 6 e 8 ,

o que tamb em se representa, de forma condensada, por F = M (1, 3, 9, 11, 12, 13, 14) Md (4, 6, 8) .

O mapa de Karnaugh para esta fun ca o tem a forma que se indica na Figura 5.21. de notar que o facto de se representar a fun E ca o como um produto de maxtermos na sua especica ca o n ao signica que ela tenha de ser minimizada (ou simplicada) para se obter uma express ao na forma de produto de somas. A especica ca o inicial e uma coisa, e a forma como se opta por obter a express ao da fun ca o e outra, independente. O produto de somas m nimo que se obt em para F e: F = (B + D ) (B + D ) (A + C ) , acentuando-se que todos os implicados primos s ao essenciais:
Implicado primo essencial

86
CDE 000
0

CAP ITULO 5. METODO DE KARNAUGH

AB

001
1

011
3

010
2

110
6

111
7

101
5

100
4

00
8

1
9

11 10

1
14

1
15 13 12

1
31 29 28

01
24 25

1
27

1
26

1
30

1 1

11
16

1
17 19

18 22 23

21

20

10

1 ACD E

1 IPE5 (e) IPNE1

AB

CDE 000
0

ABC E 001
1

011
3

010
2

110
6

111
7

101
5

100
4

00
8

1
9

11 10

1
14

1
15 13 12

1
31 29 28

01
24 25

1
27

1
26

1
30

1 1

11
16

1
17 19

18 22 23

21

20

10

1 (f)

Figura 5.20: cont .


CD AB
0

B+D 00
1

01
3

11
2

10 1
6

00
4

1
5

0
7

0 1
15 14

B+D

01
12

13

1 0
9 11

0
10

11
8

1 0

10 A+C

Figura 5.21: Md (4, 6, 8)

Minimiza ca o da fun ca o F

M (1, 3, 9, 11, 12, 13, 14)

B + D por causa do maxtermo M14 ; B + D por causa dos maxtermos M1 , M3 e M11 ; e A + C por causa do maxtermo M13. Recorde-se que, quando se l eem somas nos mapas de Karnaugh (ou nas tabelas

5.9. O ALGORITMO DE KARNAUGH

87

de verdade), as vari aveis que se mant em em 0 s ao lidas na forma n ao negada e as que se mant em em 1 s ao lidas na forma negada.

5.9

O Algoritmo de Karnaugh

O m etodo de Karnaugh de minimiza ca o de fun co es booleanas simples pode ser implementado pelo algoritmo que se esbo ca a seguir: 1. se se quiserem obter apenas a ou as somas de produtos m nimas para a fun ca o, prosseguir com o passo 2; se se pretende obter apenas o produto ou produtos de somas m nimos para a fun ca o, ir para o passo 6; 2. estabelecem-se todos os implicantes primos essenciais, e incluem-se na soma de produtos m nima da fun ca o; 3. escolhe-se o menor n umero de implicantes primos n ao essenciais que cobrem todos os 1s do quadro ; se apenas existir uma solu ca o, continuar no passo 5; 4. de entre as v arias alternativas obtidas no passo anterior, escolhem-se as solu co es que cont em o menor n umero de implicantes primos n ao essenciais com o menor n umero de literais que cobrem todos os 1s do quadro (ou seja, de entre as alternativas obtidas no passo 3, escolhem-se as mais simples); 5. na soma de produtos m nima da fun ca o, somam-se logicamente os implicantes primos essenciais obtidos no passo 2 com os implicantes primos n ao essenciais obtidos nos passos 3 e 4; o algoritmo termina aqui; 6. repetir os passos 2 a 5 para os 0s do quadro, obtendo-se implicados primos em vez de implicantes primos e produtos de somas m nimos em vez de somas de produtos m nimas. Deve real car-se que os passos 3 e 4 podem gerar mais do que uma solu ca o, existindo, nesses casos, mais do que uma soma de produtos m nima (ou um produto de somas m nimo) para a fun ca o. Para nalizar, refere-se que este algoritmo (e todo o m etodo de Karnaugh) e de dif cil aplica ca o para fun co es com mais do que 5 ou 6 vari aveis booleanas simples, dada a dimens ao dos quadros necess arios e a diculdade na percep c ao de todas as adjac encias, com a consequente diculdade na gera ca o dos implicantes ou implicados primos. Por outro lado, o algoritmo pode ser extendido para fun co es booleanas gerais, mas nesse caso o n umero de fun co es booleanas simples envolvidas deve ser pequeno, no m aximo de 3. Neste curso n ao iremos desenvolver esta possibilidade, que deixamos para as refer encias adequadas.

5.10

Refer encias Bibliogr acas

S erro, Carlos Sistemas Digitais: Fundamentos Alg ebricos, IST Press, Lisboa, 2003, Cap tulo 7.

88

CAP ITULO 5. METODO DE KARNAUGH

Arroz, G. S., Monteiro, J. C. e Oliveira, A. L. Introdu ca o aos Sistemas Digitais e Microprocessadores, Sec co es 3.1.8 e 3.3.1. Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 2.4 e 2.5.

5.11

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. () 5.1 Nas tabelas de verdade das fun co es booleanas simples a) b) f1 (A, B, C ) = (A + B ) C + A (B + C ); e f2 (A, B, C, D) = A + A B C + C D (C D + C D) ,

identicar todas as linhas adjacentes a `s linhas em que as fun co es t em o valor 1. 5.2 Dado, no quadro de Karnaugh da fun ca o booleana simples F (A, B, C ), o quadrado correspondente a ` quantidade booleana geral (A, B, C ) = (1, 1, 1), quantos quadrados lhe s ao adjacentes? E para o quadrado (A, B, C, D, E ) = = (0, 1, 1, 1, 0) no quadro da fun c ao booleana simples F (A, B, C, D, E )? () 5.3 Identicar todos os agrupamentos leg timos de dois 1s no quadro de Karnaugh da fun ca o booleana simples F (A, B, C ) = m(1 7), e indicar as correspondentes express oes booleanas. 5.4 Identicar todos os agrupamentos m aximos no quadro de Karnaugh da fun ca o booleana simples F (A, B, C, D) = m(1 4, 10, 12 14). () 5.5 Dada a fun ca o F = m(0 2, 4 7, 10), dizer se os seguintes mintermos e somas de mintermos s ao ou n ao implicantes de F : a) b) c) d) e) d) () m1 ; m3 ; m1 + m2 ; m1 + m3 ; m0 + m1 + m2 ; m4 + m5 + m6 + m7 .

5.6 Identicar todos os implicantes primos essenciais das fun co es booleanas simples que se seguem (admita que A e a vari avel booleana simples com maior peso): a) b) F1(A, B, C, D) = m(0 2, 4 7, 10) ; F2(A, B, C, D) = A B C + A B D + B C + D ,

e identicar os correspondentes quadrados essenciais. Identicar ainda, para cada uma das fun co es, pelo menos 2 implicantes primos n ao essenciais.

5.11. EXERC ICIOS

89

5.7 Escrever a ou as formas normais disjuntivas m nimas para as fun co es booleanas simples que se seguem (A e a vari avel booleana simples com maior peso): a) b) () 5.8 F (A, B, C, D) = m(0 2, 4 7, 10) ; G(A, B, C, D) = A B C + A B D + B C + D .

Escrever a ou as formas normais disjuntivas m nimas para a fun ca o booleana simples F (A, B, C, D) = A B C D + B C D + A B C D + A B C D + A B C D , tendo em conta que nunca surgem as combina co es de valores nas entradas correspondentes aos mintermos 1, 4, 7, 10 e 11.

()

5.9 Porque e que o agrupamento formado pela soma de mintermos m9 + m10 + aveis est a incorrecto? E + m11 + m14 num quadro de Karnaugh de 4 vari num quadro com n > 4 vari aveis? 5.10 Obter a ou as somas de produtos m nimos para a fun ca o f= m(0, 1, 4 7, 9, 12, 14 17, 20, 21, 25, 28, 30) .

5.11 Que outras somas de produtos m nimos existem para a fun ca o F = m(0, 2, 6, 9 11, 13, 14, 16, 18, 20, 24, 31) + md (1, 4, 22, 27)

estudada no texto? 5.12 Obter a ou as somas de produtos m nimos para a fun ca o f= m(2, 6 10, 13, 18, 23, 25, 29) ,

com indiferen cas nas posi co es 0, 3, 11, 21, 26 e 27. 5.13 a) Minimize a fun ca o F = M (1, 2, 5, 8, 9, 11, 12, 15, 17, 19, 21, 23 25, 28 31) ,

com indiferen cas em 6, 7, 10, 14, 16, 18, 26 e 27, por forma a facilitar uma futura implementa ca o com NANDs com qualquer n umero de entradas. b) Indique se existe algum implicado primo essencial e, em caso armativo, escreva a ou as correspondentes express oes l ogicas. 5.14 Minimizar as seguintes fun co es booleanas simples (admita que A e a vari avel booleana simples com maior peso): a) b) f (A, B, C, D) = f (A, B, C, D) = M (3, 4, 6, 7, 11, 12, 14) ; M (0, 2 8, 10, 12, 13) .

5.15 Minimizar as seguintes fun co es booleanas simples, em que A e a vari avel com maior peso: a) b) f (A, B, C, D) = m(2 5, 8, 9, 14, 15) ; f (A, B, C, D, E ) = m(0, 1, 3, 8, 9, 13 17, 19, 24, 25, 27, 31) .

90

CAP ITULO 5. METODO DE KARNAUGH

5.16 Minimizar a seguinte fun c ao booleana simples: f (A, B, C, D) = A C D + B C D + A B C + A B C D + +AB CD + ABD +AB C D. 5.17 Minimize as seguintes fun co es booleanas simples: a) b) f= f= m(0, 2, 6, 8 10, 12) + md (1, 3, 4, 11, 13, 14) ; m(1, 2, 6, 9, 13 15, 17, 22, 25, 29 31) + md (7, 8, 18, 23) .

() 5.18 Minimizar a seguinte fun ca o booleana simples: f= m(1, 3, 5, 6, 9, 12, 17, 19, 22, 27, 28, 30)+ md (4, 11, 14, 20, 21, 25) .

5.19 Minimize a seguinte fun ca o booleana simples, f = m(0, 4, 6, 11, 12, 14 16, 24, 31) + md (2, 8, 27, 28) ,

e escreva a express ao booleana de um implicante primo da fun ca o. 5.20 a) Minimize a fun ca o x= M (7, 10, 14, 15, 17, 23 26, 30, 31) ,

com indiferen cas nas posi co es 1, 6, 8, 9, 12, 20, 21 e 22, e desenhe o seu logigrama usando apenas NANDs de 2 entradas. Disp oe, nas entradas, das vari aveis complementadas e n ao complementadas. b) Nas posi c oes em que havia indiferen cas na fun ca o da al nea anterior coloque 1s. Desenhe o logigrama desta nova fun ca o partindo do logigrama anterior, sem o alterar, excepto por acrescentar outros elementos. 5.21 a) Utilizando mapas de Karnaugh, minimize a fun ca o f= M (1, 2, 4, 9, 10, 12, 15, 17, 24, 30, 31) ,

com indiferen cas nas posi co es 3, 5, 8, 14, 18, 20, 22 e 25. b) Minimizando esta fun ca o em produto de somas e em soma de produtos obteria duas express oes equivalentes? Porqu e? 5.22 Minimize a fun ca o f= m(0, 1, 3, 5, 7 10, 15, 18, 19, 22, 25, 27, 29, 31) ,

sabendo que existem indiferen cas nas posi co es 2, 11, 12, 20 e 30. A fun ca o deve ser minimizada por forma a ser implementada facilmente com NANDs. 5.23 Dada a seguinte fun c ao: f= m(0, 5, 6, 8, 12, 14, 22, 29) ,

com indiferen cas nas posi co es 1, 4, 10, 21, 16, 19, 20, 23, 25 e 26, a) minimize-a e represente-a sob a forma de uma soma de produtos; b) identique um implicante primo essencial e um n ao essencial.

5.11. EXERC ICIOS () 5.24 Uma fun c ao de 4 vari aveis e dada na forma y = (m1 + m3 + m5 + m9 + m10 + m11 + m12 + m14 ) (M8 M10) .

91

e necess ario para a deni ca o da fun ca o, ou n ao fornece O factor (M8M10) qualquer indica ca o que n ao esteja j a contida no primeiro factor do produto l ogico? Responda referindo-se separadamente aos dois termos m aximos que constituem o segundo factor. 5.25 a) Minimize a seguinte fun ca o f= m(2, 7, 9, 11, 12, 14, 15, 17, 23) + md (0, 4, 6, 8, 10, 13, 20, 22, 28) .

b) Identique todos os implicantes primos essenciais da fun ca o. 5.26 Dada a seguinte fun c ao, f= M (1, 3, 5, 8, 10, 12 14, 21, 23, 24, 26, 31) Md (0, 4, 7, 15, 17, 18, 27, 28) ,

a) minimize-a de modo a facilitar uma futura implementa ca o com NANDs; b) identique na express ao m nima anterior os implicantes primos essenciais. 5.27 Minimizar a seguinte fun ca o: f = A (C D ) + A B + A C D + A C D . 5.28 a) Minimizar a seguinte fun ca o usando o m etodo de Karnaugh: f= M (1, 7, 9, 12, 14, 18, 19, 21, 22, 25, 28, 30, 31) ,

com indiferen cas nas posi co es 4, 15, 16, 17 e 20. b) A partir da fun ca o f , sem a alterar e usando o m nimo de l ogica poss vel, construir uma fun ca o g com uma tabela de verdade l ogica semelhante mas que gera sa da 1 nas posi co es 1, 4 e 21. c) Indique, na fun ca o f , um implicante (ou implicado) primo que n ao seja essencial, e outro que o seja. 5.29 a) Minimize, pelo m etodo de Karnaugh, a fun ca o f (A, B, C, D, E ) = M (2, 4, 7, 9, 10, 12, 18, 24, 30, 31) ,

com indiferen cas nas posi co es 11, 15, 26, 28 e 29 (admita que A e a vari avel com maior peso), de forma a ser facilmente implementada com NANDs de qualquer n umero de entradas, N ao desenhe o logigrama, mas determine a express ao da fun ca o em NANDs. b) Considere a fun ca o obtida na al nea anterior. Qual o valor que ela assumir a para a quantidade booleana geral de entrada (A, B, C, D, E ) = = (1, 1, 0, 1, 0)? Porqu e?

92

CAP ITULO 5. METODO DE KARNAUGH

5.30 Dada a seguinte fun ca o, e sabendo que na sua implementa ca o e indiferente o valor que ela toma para as combina co es de entrada referentes aos mintermos 3, 9, 10, 16, 20 e 30, f = M (0, 1, 3, 4, 7, 11, 12, 16, 17, 19, 26, 29, 30, 31) ,

a) minimize-a de modo a realiz a-la apenas com NORs; b) se, por acaso, ocorrerem as combina co es de entrada correspondentes a `s quantidades booleanas gerais com axos 9, 16 e 30, quais s ao os valores que a implementa ca o obtida na al nea anterior apresenta? 5.31 a) Usando o m etodo de Karnaugh, minimize a fun ca o f = B A+ BAD +C D +AB CD + CB D. b) Indique um implicante primo essencial e um n ao essencial.

Parte II

CIRCUITOS COMBINATORIOS

93

Cap tulo 6

Elementos Tecnol ogicos


6.1 Portas L ogicas

O interesse do que se tem vindo a analisar reside no facto de as fun co es l ogicas poderem ser usadas para representar as ac co es e os processamentos pretendidos para um determinado equipamento, e poderem ser implementadas sicamente por circuitos electr onicos. Considere-se o seguinte problema: pretende-se desenhar um alarme de um carro que assinale, tocando um besouro, que o carro circula com uma porta aberta ou que est a estacionado com as luzes acesas. Se o carro tiver 4 portas, podemos representar cada porta por uma vari avel, P 1 a P 4. Admitamos que cada uma das vari aveis estar a a 1 quando a porta correspondente est a aberta. A fun ca o P signicar a ent ao, quando a 1, que existe pelo menos uma porta aberta. Ent ao teremos P = P 1 + P 2 + P 3 + P 4. Do mesmo modo, L ser a uma vari avel que est a a 1 quando as luzes est ao acesas e C uma vari avel que est a a 1 quando a chave est a ligada. facil de ver que o alarme A ser E a obtido pela express ao A = C P + CL, represent avel pelo logigrama da Figura 6.1
P1 P2 P3 P4 C
1 & 1 1

P
&

Figura 6.1: Logigrama do alarme A = C P + C L 95

96

CAP ITULO 6. ELEMENTOS TECNOLOGICOS

A implementa ca o sica do logigrama e feita por um circuito el ectrico em que os diversos operadores l ogicos s ao implementados por portas l ogicas (gates) realizadas em circuitos integrados . Um exemplo de circuito integrado e o caso do 74LS08, que implementa os ANDs (ver a folha de especica ca o do integrado).

6.2
Sinal bin ario ideal

Sinais Bin arios

A Figura 6.2(a) ilustra a varia c ao com o tempo de um sinal bin ario ideal numa liga ca o entre a sa da de uma porta l ogica e a entrada ou entradas de outras portas. Como se pode constatar, a representa ca o do sinal ideal apresenta descontinuidades nos instantes de tempo designados por t1 , t2 , e t3 , possuindo um dos dois valores bin arios, 0 ou 1, nos intervalos entre esses instantes.
Valores bin arios 1 0 Tempo Tens oes el ectricas VH VL t1 t2 t3 Tempo

Figura 6.2: Sinal bin ario: (a) ideal; (b) real


Sinal bin ario real

Num sistema digital pr atico, contudo, n ao existem sinais ideais. Os sinais bin arios reais s ao, nesses sistemas, representados por valores de grandezas el ectricas geralmente tens oes ou correntes pelo que a representa ca o da informa c ao dever a neles ser feita de forma cont nua, por interm edio de sinais anal ogicos. Assim sendo, a forma ideal da Figura 6.2(a) deve ser entendida apenas como uma representa ca o aproximada dos sinais que podemos encontrar nas linhas (ou condutores) que ligam as entradas e as sa das das portas l ogicas. A Figura 6.2(b) ilustra um sinal bin ario real, tendo como ordenadas tens oes el ectricas. Como podemos constatar, as descontinuidades da Figura 6.2(a) d ao agora lugar a transi co es ou ancos entre as tens oes VH e VL , ancos esses que levam tempo a estabelecer-se. ao baixa, VL , Quando um sinal muda de uma tens ao alta, VH , para uma tens dizemos que ocorreu um anco descendente.

Sinal real (anal ogico)

Flancos

Flanco descendente

6.3. TIPOS DE CIRCUITOS INTEGRADOS DIGITAIS

97
Tempo de decrescimento tf ou fall time Flanco ascendente Tempo de crescimento tr ou rise time

Como esta transi ca o n ao e instant anea, um anco descendente possui um certo tempo de decrescimento para efectuar a mudan ca. Este tempo designa-se habitualmente por tf ou fall time. Pelo contr ario, uma transi ca o de VL para VH d a origem a um anco ascendente, com um certo tempo de crescimento, designado por tr ou rise time, para efectuar a mudan ca entre os dois valores de tens ao. Por outro lado, como resultado de imperfei co es existentes nos componentes electr onicos das portas l ogicas, sinais que se deviam manter constantes entre transi co es, como na Figura 6.2(a), podem utuar ligeiramente em torno dos valores VH e VL , como mostra a Figura 6.2(b). Isso signica que os valores bin arios 1 e 0 devem corresponder, na realidade, a intervalos de valores ou a faixas de tens oes el ectricas, designados habitualmente por n veis (de tens ao) H ou L, respectivamente um n vel alto (HIGH) ou um n vel baixo (LOW). A associa ca o entre os intervalos de tens ao H e L e os valores l ogicos 0 e 1 e mat eria que deixaremos para o Cap tulo 7. Basta dizer, por agora, que muitas vezes se faz a associa ca o de H a 1 e de L a 0, mas que nada impede a associa ca o contr aria. Enquanto um sinal tiver um valor de tens ao el ectrica contido no interior de uma das faixas H ou L, o seu valor bin ario (1 ou 0) e bem denido. Quando o valor da tens ao el ectrica sair fora dessas faixas, o valor bin ario do sinal ca indenido (Figura 6.3).
Tens oes el ectricas H

N vel alto, HIGH ou H N vel baixo, LOW ou L

L Tempo

Figura 6.3: Sinal bin ario da Figura 6.2 indicando as faixas de tens ao H e L Uma forma de representa ca o idealizada de um sinal bin ario ser a, ent ao, a da Figura 6.4(a), onde se acentuam os ancos entre os n veis H e L, com os seus tempos de crescimento e de decrescimento, mas em que se simplica a forma do sinal, por forma a aproximar-se da representa c ao ideal da Figura 6.2(a). Nos casos em que n ao e necess ario acentuar os tempos de crescimento e de decrescimento dos ancos, usa-se a representa ca o ideal da Figura 6.4(b).

6.3

Tipos de Circuitos Integrados Digitais

A tecnologia dos circuitos integrados e respons avel pelo tremendo desenvolvimento dos sistemas digitais, uma vez que possibilitou a constru ca o de circuitos electr onicos digitais muito complexos a custos extremamente reduzidos.

98
N veis de tens ao H L t1

CAP ITULO 6. ELEMENTOS TECNOLOGICOS

t2 (a)

t3

N veis de tens ao H L t1 t2 (b) t3 t

Figura 6.4: (a) Forma de representa ca o habitual dos sinais bin arios, com enfase nos ancos de mudan ca dos sinais e dos seus tempos de crescimento e decrescimento; e (b) representa ca o simplicada, ideal, onde n ao aparecem os tempos de crescimento e de decrescimento
Circuito integrado (CI)

Um circuito integrado (CI) e formado por um pequeno cristal de sil cio (em geral, mas h a outras tecnologias) onde se difundiram impurezas para formar transistores, d odos, resist encias e outros elementos de circuitos, interligados entre si para formarem circuitos de maior ou menor complexidade. Um circuito integrado digital materializa circuitos digitais. Os circuitos integrados digitais s ao f aceis (relativamente) de conceber e produzir, assumindo custos muito baixos. Cada CI digital pode ter entre algumas de portas l ogicas e alguns milh oes delas. Por exemplo, o circuito integrado usado habitualmente no nosso laborat orio com circuitos AND tem 4 portas AND independentes, que podem ser usadas separadamente. Um circuito como um contador tem algumas dezenas de portas que est ao previamente interligadas para formar o contador. J a um microprocessador avan cado, como o Pentium ou o PowerPC, tem v arios milh oes de portas ou circuitos equivalentes. Existem v arias tecnologias para fabricar circuitos integrados digitais.

Circuito integrado digital

Tecnologia TTL Transistores bipolares

Fam lia TTL Subfam lias l ogicas

1. Tecnologia TTL: uma tecnologia que foi muito usada e que estabeleceu crit erios e normas. Utiliza transistores bipolares a funcionar ao corte ou a ` satura ca o. Tem um comportamento m edio no que diz respeito ao tempo de propaga ca o por porta (este tempo mede, de forma simplicada, a velocidade da porta), ao consumo em energia el ectrica e a ` pot encia dissipada sob a forma de calor. Os circuitos com esta tecnologia formam a fam lia TTL, que se subdivide em v arias sub-familias com caracter sticas diferenciadas, mas todas compat veis entre si. Dado ter-se tornado muito popular,

6.4. A FAM ILIA TTL

99

outras tecnologias t em circuitos com entradas e sa das compat veis com os uma tecnologia em perda a favor da tecnologia CMOS. circuitos TTL. E 2. Tecnologia CMOS: a outra tecnologia de grande divulga ca o. Utiliza tran relativamente mais lenta que a sistores MOS com canais de 2 tipos. E TTL, mas consome menos. Recentemente, os ganhos de velocidade da tecnologia CMOS, combinados com a grande capacidade de integra ca o e os baixos consumos energ eticos e pot encia dissipada, colocaram-na como a tecnologia mais importante no projecto e fabrico de CIs. Os circuitos com esta tecnologia formam a fam lia CMOS, tamb em dividida em diversas a tecnologia em mais r sub-familias. E apido crescimento. a tecnologia 3. Tecnologia ECL: utiliza transistores bipolares na zona activa. E mais r apida comercialmente disponivel. Tem um consumo muito elevado. de relativamente dif E cil utiliza ca o. Est a reservada a nichos de aplica ca o muito reduzidos. 4. Outras tecnologias: nMOS e pMOS, GaAs, IIL, etc.
Tecnologia CMOS Transistores MOS

Fam lia CMOS

Tecnologia ECL

Tecnologias nMOS, pMOS, GaAs, IIL

6.4

A Fam lia TTL

Usaremos no laborat orio circuitos integrados da fam lia TTL por ser electricamente mais robusta criando, por isso menos problemas a alunos com pouca experi encia. Os circuitos desta fam lia caracterizam-se por um conjunto de par ametros, de que se destacam: as tens oes de alimenta c ao: +5V 5% para as s eries normais (comerciais), e +5V 10% para as s eries militares; a tens ao de +5V e habitualmente ao alimentados entre a tens ao Vcc e designada por Vcc , e os circuitos TTL s a tens ao da massa (GND = 0V); as temperaturas de funcionamento: [0, 70] oC para as s eries comerciais, enquanto que as s eries militares usam circuitos mais robustos, que suportam temperaturas no intervalo [55, 125] oC; as sub-familias: N (Normal), L (Low Power), H (High Speed), LS (Low Power Schottky, a mais usada actualmente), S (Schottky), ALS (Advanced Low Power Schottky), AS (Advanced Schottky), F (Fast), etc.; os tempos de atraso (ou tempos de propaga c ao) e os consumos de corrente t picos: por exemplo, para uma porta 74x00 (em que x designa uma das subfam lias TTL), os valores s ao os indicados na Tabela 6.1. em cada sub-fam lia, a s erie 54xnn e a s erie militar e a 74xnn e a s erie comercial.
Tens oes de alimenta ca o (TTL)

Temperaturas de funcionamento (TTL)

Sub-fam lias TTL

Tempo de propaga ca o (atraso) Consumo de corrente (TTL)

100

CAP ITULO 6. ELEMENTOS TECNOLOGICOS

Tabela 6.1: Tempos de propaga ca o e consumos de corrente t picos para o mesmo circuito integrado em tr es sub-fam lias TTL diferentes
Sub-fam lia TTL N (7400) LS (74LS00) S (74S00) Tempo de atraso t pico (ns) 7 a 11 9 a 10 3a5 Corrente de alimenta c ao t pica (mA) 4 a 12 0, 8 a 2, 4 10 a 20

6.4.1

N veis el ectricos dos circuitos TTL

Como vimos anteriormente, numa liga c ao entre duas portas arbitr arias, em tecnologia TTL ou noutra tecnologia qualquer, os fabricantes de circuitos integrados apenas garantem certos intervalos (gamas) de tens oes el ectricas nas suas sa das e entradas, que designam por n veis H e L. Deste modo, se a sa da de uma porta se encontrar, em cada instante, num desses intervalos, pode-se considerar que a porta imp os na sa da um determinado n vel de tens ao, que e aceite pelas entradas das portas ` as quais a sa da se liga. No caso da fam lia TTL os fabricantes garantem que, aparte os momentos em que se verica uma transi ca o a ` sa da de uma porta em resultado de uma mudan ca nas entradas, a sa da da porta estar a no n vel H (entre +2,4V e +5V), ou no n vel L (entre 0V e +0,4V), como mostra a Figura 6.5, se as entradas estiverem tamb em num desses n veis.
TTL
Vcc = +5V

H
+2,4V

N vel alto

+0,4V GND = 0V

N vel baixo

Figura 6.5: N veis H e L na tecnologia TTL Repare-se, contudo, que existe aquilo a que habitualmente chamamos ru do el ectrico, e que mais n ao e do que a inu encia electromagn etica de todos os campos que existem na zona onde est a o circuito (emiss oes de r adio, TV, telem oveis, ru do provocado pelo arranque e paragem de motores el ectricos, emiss ao electromagn etica de outras liga co es do mesmo circuito, etc.). Assim, e poss vel que a ` sa da da porta tenhamos um valor v alido (por exemplo +0,3V) e a ` entrada da porta que lhe est a ligada se observe um valor inv alido (por exemplo, +0,5V). Para ter em conta esta possibilidade, as entradas das portas t em uma especica ca o um pouco mais ampla, sendo os valores entre +2V e +5V interpreta-

6.4. A FAM ILIA TTL

101

dos como n vel H, e os valores entre 0V e +0,8V interpretados como n vel L (Figura 6.6).
Sa da TTL
Vcc = +5V Margem de ru do de 0,4 V +5V

Entrada TTL

H
+2,4V

H
+2V +0,8V

+0,4V GND = 0V

0V

Figura 6.6: A margem de ru do em TTL e de 0,4V O intervalo de 0,4V entre os valores extremos a ` saida e ` a entrada designa-se, naturalmente, por margem de ruido.

Margem de ru do

6.4.2

Sa das totem-pole e tri-state

N ao e poss vel ligar as sa das das portas TTL habituais, sob pena de as podermos destruir por excessivo consumo de corrente e consequente dissipa ca o de pot encia (Figura 6.7).
&

Figura 6.7: A liga ca o das sa das das portas TTL totem-pole pode conduzir a `s suas destrui co es devido ao excessivo consumo de corrente el ectrica Tal deve-se ao modo como s ao constru dos os andares de sa da dessas portas, designados por totem-pole. H a, contudo, portas TTL especiais, designadas por portas tri-state, em que os andares de sa da que s ao controlados por uma entrada suplementar designada por entrada de Enable (EN) podem vir interligados. Os circuitos que usam sa das tri-state apresentam uma simbologia IEC espec ca, como mostra a Figura 6.8 para o caso de uma porta NAND com 3 entradas. Como se pode ver, a porta NAND tem as 3 entradas habituais, A, B e C , e a entrada suplementar de Enable, EN, que controla a fun ca o tri-state da sa da
Sa das totem-pole O desenho dos circuitos TTL e, em particular, dos seus andares de sa da sai fora do ambito desta cadeira. Sa das e portas tri-state

102

CAP ITULO 6. ELEMENTOS TECNOLOGICOS


A B C ENABLE & S EN

Figura 6.8: S mbolo IEC de uma porta NAND com sa da tri-state


Qualicador de sa da

da com a S . Essa fun ca o vem representada no s mbolo por um qualicador de sa forma de um tri angulo invertido, .

Quando a ` entrada de Enable aplicamos um determinado valor l ogico, digamos 1 [Figura 6.9(a)], a porta reage como um vulgar NAND, gerando os valores l ogicos na sa da compat veis com a express ao habitual S = A B C . O seu andar de sa da comporta-se, nestas circunst ancias, como o de um vulgar NAND com sa da totem-pole.
A B C 1 & S = ABC EN (a) 0 A B C & Hi-Z EN (b)

A designa c ao tri-state prov em do facto de podermos encontrar na sa da os habituais valores 0 e 1 (ou, se quisermos, os n veis L e H) de um totem-pole, e ainda a condi c ao de alta imped ancia, Hi-Z. Sa da em alta imped ancia (Hi-Z)

Figura 6.9: (a) A porta NAND com sa da tri-state tem a entrada de Enable, EN, com o n vel de tens ao que lhe permite funcionar normalmente, como se de um totem-pole se tratasse; (b) quando a entrada EN tem o outro n vel de tens ao, a sa da ca em alta imped ancia (Hi-Z) Quando a EN aplicamos um 0 [Figura 6.9(b)], a sa da da porta ca em alta imped ancia (o que se simboliza por Hi-Z), e tudo se passa como se a sa da estivesse desligada (ou seja, n ao conseguimos identicar 1s e 0s na sa da) . f E acil de entender que podemos ligar as sa das de duas ou mais portas tri-state desde que controlemos devidamente as portas por forma a que uma e apenas uma das portas funcione, de cada vez, como um totem-pole, e as outras tenham as suas sa das em alta imped ancia . o que se faz, por exemplo, no logigrama da Figura 6.10. E Se EN 1 estiver a 1 e EN 2 e EN 3 estiverem a 0, por exemplo, as duas portas inferiores t em as suas sa das em alta imped ancia (est ao desligadas) e o que aparece na sa da comum e o que se encontra a ` sa da do AND superior, ou seja, S = A B. Se, noutra altura diferente, se zer EN 2 = 1 e EN 1 = EN 3 = 0, agora e o AND e o NOT que t em a sa da em alta imped ancia, e o que surge na sa da comum e o que est aa ` sa da do NOR, isto e, S = C + D. E se numa terceira altura, diferente das duas enteriores, se tiver EN 1 = EN 2 = da S , porque o AND e = 0 e EN 3 = 1, agora e o NOT que debita E para a sa o NOR t em as suas sa das em alta imped ancia. Em resumo, a `s entradas de Enable apenas deveremos aplicar as quantidades booleanas gerais (EN 1, EN 2, EN 3) = (1, 0, 0), ou (0, 1, 0), ou ainda (0, 0, 1), e n ao outras. Em particular n ao faz sentido aplicar (EN 1, EN 2, EN 3) = (0, 0, 0)

6.5. A FAMILIA CMOS


A B EN1 C D EN2 & EN

103

1
EN 1 EN S

E EN3

Figura 6.10: As sa das tri-state podem vir interligadas desde que se garanta, por interm edio dos n veis de tens ao aplicados a `s diversas entradas de Enable, que uma e apenas uma sa da de cada vez n ao est a em alta imped ancia a `s entradas, porque ent ao as tr es portas estariam em alta imped ancia e nenhuma fun ca o era gerada na sa da nessas circunst ancias . Esta opera ca o de selec c ao de uma das sa das das portas de cada vez designa-se por multiplexagem temporal.
Multiplexagem temporal

6.5

A Familia CMOS

Os circuitos desta fam lia caracterizam-se por um conjunto de par ametros, de que se destacam: as sub-familias: 4000, 74HC e 74HCT. A sub-fam lia 4000 e a primeira fam lia CMOS, que tem vindo a ser progressivamente abandonada e substitu da pelas outras. Os circuitos da sub-fam lia 74HC t em as refer encias e os pinos compat veis com os dos circuitos equivalentes (com a mesma designa ca o) da familia TTL. Mas n ao s ao electricamente compat veis. Os circuitos da sub-fam lia 74HCT s ao uma variante de circuitos HC com n veis de tens ao totalmente compativeis com os da fam lia TTL. as tens oes de alimenta c ao: +5V 5% para os circuitos 74HC e 74HCT, e +3 a +18V para os circuitos 4000; estas tens oes s ao habitualmente designadas ao alimentados entre a tens ao Vdd e a tens ao por Vdd , e os circuitos CMOS s da massa (GND = 0V).
Sub-fam lias CMOS

Tens oes de alimenta ca o (em CMOS)

6.5.1

N veis el ectricos dos circuitos CMOS

Os niveis de tens ao nos circuitos da familia CMOS s ao diferentes dos da familia TTL (Figura 6.11). No caso da s erie 4000 os niveis s ao vari aveis com a tens ao de alimenta ca o, que pode ir de +3V a +18V. Aplicam-se as mesmas conven co es que nos circuitos TTL. Os n veis ilustrados s ao os das entradas das portas.

104

CAP ITULO 6. ELEMENTOS TECNOLOGICOS


CMOS
Vdd = +5V

H
+3,5V

N vel alto

+1,5V

L
GND = 0V

N vel baixo

Figura 6.11: N veis H e L na tecnologia CMOS

6.6

Encapsulamento dos Integrados

Os circuitos integrados s ao pequenos cristais de sil cio que, para poderem ser facilmente utilizados, est ao inseridos em env olucros que facilitam o seu manuseio e interliga ca o. Os integrados que vamos usar est ao encapsulados num tipo particular de env olucro designado por DIP (Dual in-line package) por terem dois conjuntos de pinos (terminais), organizados em duas las em lados opostos do encapsulamento. Existem integrados deste tipo com um n umero de pinos entre 8 e 64. Na Figura 6.12 ilustra-se um integrado com 14 pinos.
8

Dual in-line package Pinos

14

Figura 6.12: Exemplo de circuito integrado que utiliza um env olucro com 14 pinos Repare-se na forma como os pinos s ao numerados. O pino 1 e o u ltimo est ao pr oximos de uma pequena reentr ancia no encapsulamento, que pode tomar a forma ilustrada ou outras.

6.7
Fan-out

Fan-out

O fan-out de uma saida e o n umero de entradas normais a que essa saida pode estar ligada. Esse valor anda na ordem de 10 a poucas dezenas.

DE POTENCIA 6.8. DISSIPAC AO

105

6.8

Dissipa c ao de Pot encia

Os circuitos integrados s ao alimentados electricamente e, no seu funcionamento, dissipam a energia el ectrica sob a forma de calor. O problema do aquecimento e das t ecnicas de arrefecimento dos integrados s ao, com a elevada integra ca o, cada vez mais dif ceis de tratar. No caso dos circuitos CMOS, a energia e fundamentalmente gasta nas transi co es de n vel, sendo desprez avel o valor gasto em repouso, quando n ao h a transi co es. por isso que os processadores dissipam mais se a frequ E encia de funcionamento e maior. J a no caso dos circuitos TTL, a energia e gasta, quer nas transi co es entre n veis, quer quando os circuitos se mant em num n vel constante, H ou L.

6.9

Tempos de Propaga c ao das Portas

Como vimos na Sec ca o 6.2, as portas l ogicas apresentam ancos nas transi co es entre n veis, aos quais est ao associados tempos de crescimento e de decrescimento dos sinais bin arios. Por outro lado, e porque os circuitos integrados s ao dispositivos reais e f sicos, as suas sa das tamb em n ao reagem instantaneamente ` as mudan cas que ocorrem nas suas entradas. Isso quer dizer que, se observarmos os seu comportamentos ao longo do tempo, notamos tempos de propaga c ao (ou tempos de atraso) na resposta dos integrados. Vejamos o exemplo de uma porta AND na Figura 6.13, onde se salientam os tempos de propaga ca o da porta, tpLH na transi ca o do n vel L para o n vel H na sa da, e tpHL na transi ca o do n vel H para o n vel L, sempre na sa da.
A B
&

Tempos de propaga ca o (atraso)

tpLH e tpHL

50%

50%

Z tpLH

50% tpHL

50%

Figura 6.13: Uma porta AND e um diagrama temporal onde se representa a varia ca o na sa da Z que resulta de determinadas varia co es nas entradas A e B , impostas arbitrariamente Deve notar-se que o tempo de propaga ca o tpLH pode ser diferente do tempo tpHL .

106
tpd (tempo de propaga c ao de uma porta) Diagrama temporal

CAP ITULO 6. ELEMENTOS TECNOLOGICOS

Por vezes designam-se os dois tempos colectivamente por tempo de propaga c ao


da porta, com a sigla tpd (propagation delay time).

Os diagramas do g enero do que se representa na Figura 6.13 designam-se por diagramas temporais.

6.10

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 2.1, 2.8 e 2.9.

Cap tulo 7

L ogica de Polaridade
7.1
7.1.1

L ogicas de Polaridade, Positiva e Negativa


S mbolos dos circuitos digitais
Normas IEC

Os s mbolos que utiliz amos para as portas l ogicas est ao denidos internacionalmente em normas emanadas da IEC (International Electrotechnical Commission ou Comiss ao Electrot ecnica Internacional). Trata-se de s mbolos aplic aveis n ao s o a `s portas l ogicas, como a outros circuitos mais complexos, geralmente sob a forma de circuitos integrados, que estudaremos nos cap tulos que se seguem ` a medida que forem sendo necess arios (multiplexers, descodicadores, contadores, registos, mem orias, etc.). Esta uniformiza ca o possui algumas vantagens o bvias: os s mbolos s ao de utiliza c ao universal em logigramas e esquemas el ectricos; ou seja, desde que seja respeitada a sua representa ca o simb olica nos circuitos l ogicos em que interv em (representa ca o essa que est a contida na norma IEC 60617-12), qualquer pessoa e capaz de entender um circuito desenhado por outrem; como a simbologia e rigorosa, n ao h a margem de manobra para o desenho de s mbolos mais ou menos fantasiosos (s mbolos fantasiosos signica s mbolos arbitr arios, abertos a interpreta co es incorrectas); e os s mbolos dispensam a descri c ao dos circuitos em l ngua natural (portugu es ou outra); com efeito, tal descri ca o e n ao s o redundante como geralmente pouco correcta e incompleta, pelo que s o temos a ganhar com a sua dispensa. N ao devemos, contudo, imaginar que esta simbologia se deve ou pode aplicar a qualquer circuito digital. Com efeito, circuitos muito complexos por exemplo, certas mem orias de grande dimens ao, os circuitos l ogicos program aveis ou os microprocessadores e respectivos circuitos auxiliares, cujas funcionalidades n ao s ao facilmente descrit veis pela norma IEC possuem s mbolos muito complexos, e as vantagens que se acabaram de apontar podem, ent ao, perder-se. Nesses 107

Logigramas e esquemas el ectricos Norma IEC 60617-12

108

CAP ITULO 7. LOGICA DE POLARIDADE

casos sugere-se a utiliza ca o de uma simbologia simplicada, n ao normalizada, acompanhada de uma descri ca o da correspondente funcionalidade. Para al em da norma 60617-12, existem outras normas IEC que se preocupam com o desenho dos logigramas e dos esquemas el ectricos. Neste contexto apenas nos interessa a norma IEC 61082, que estabelece, entre outros conceitos importantes, que o uxo dos sinais el ectricos decorre da esquerda para a direita ou de cima para baixo nos desenhos dos circuitos, e que qualquer altera ca o a estas orienta c oes deve ser explicitamente referenciada com uma seta. No que diz respeito a `s portas l ogicas, os s mbolos IEC possuem contornos rectangulares colocados verticalmente, com um qualicador geral no topo que identica o tipo de porta: o qualicador geral & para uma porta AND, o qualicador geral 1 para uma porta OR, o qualicador geral 1 para uma porta NOT, ou o qualicador geral =1 para uma porta XOR. De prop osito n ao foram referidas as portas NAND e NOR. Isso deve-se a que, por raz oes que ser ao apresentadas mais tarde, estas portas passam a ser substitu das, respectivamente, por portas AND e OR. Importa salientar aqui um facto importante: qualquer porta l ogica possui dois s mbolos IEC em alternativa, que resultam um do outro pela aplica ca o de uma das leis de De Morgan . Por exemplo, os s mbolos que se seguem s ao equivalentes,

Norma IEC 61082

Qualicador geral Qualicador geral & Qualicador geral 1 Qualicador geral 1 Qualicador geral = 1

A B

&

AB

A B

A+B

como resulta de A+B = AB , pela aplica ca o de uma das leis de de Morgan. Da mesma forma, os s mbolos

A B

&

AB

A B

A+B

s ao equivalentes, como resulta de A+B = AB .


Qualicadores de entrada e de sa da

Indicadores de polaridade

Mais a ` frente iremos caracterizar estes e outros s mbolos, que passar ao a ter designa co es apropriadas consoante existem ou n ao os qualicadores de entrada , com um signicado que n ao e o de nega c ao l ogica , como podem ou de sa da sugerir as equival encias anteriores (estes qualicadores tamb em se designam por indicadores de polaridade).

7.1. LOGICAS DE POLARIDADE, POSITIVA E NEGATIVA

109

7.1.2

Raz ao da l ogica de polaridade

Como vimos nas Subsec co es 6.4.1 e 6.5.1, os n veis de tens ao H e L s ao, na realidade, gamas de valores de tens ao el ectrica que dependem da tecnologia utilizada. Em qualquer dos casos que foram apresentados (tecnologias TTL e CMOS), contudo, esses n veis s ao positivos porque os circuitos s ao alimentados entre ao positiva) uma tens ao Vcc = +5V ou Vdd = +5V (eventualmente, outra tens e a tens ao da massa (GND = 0 V). Por em, h a tecnologias em que os circuitos s ao alimentados com tens oes negati o caso, por exemplo, da tecnologia ECL, em que os circuitos integrados vas . E s ao habitualmente alimentados entre a tens ao da massa (GND = 0 V) e uma tens ao negativa, (Vee = 5, 2V), como ilustra a Figura 7.1.
TTL (CMOS)
Vcc (Vdd ) = +5V GND = 0V 0, 9V

ECL 10k H

H
1, 7V +2, 4V

L
+0, 4V GND = 0V

L
L ogica positiva (a)

Vee = 5, 2V L ogica negativa (b)

Figura 7.1: (a) A utiliza ca o de uma tecnologia TTL (ou CMOS) favorece a escolha de uma l ogica positiva, enquanto que (b) a utiliza ca o de uma tecnologia ECL favorece a utiliza ca o de uma l ogica negativa Ora o problema que se levanta e como associar os valores l ogicos 0 e 1 da a lgebra de Boole que temos utilizado at e aqui, com os n veis de tens ao nos circuitos utilizados nas diversas tecnologias f sicas , de uma forma que seja independente da tecnologia ou de prefer encias pessoais. Uma associa c ao poss vel ilustrada na Figura 7.1(a) que casa bem com as tecnologias que usam tens oes positivas, como e o caso da TTL e da CMOS, a l faz corresponder o 0 l ogico ao n vel L e o 1 l ogico ao n vel H. E ogica positiva, que temos vindo a utilizar at e aqui. Mas existe outra associa ca o poss vel, a da l ogica negativa da Figura 7.1(b), que faz a liga ca o oposta: faz-se corresponder o 0 l ogico ao n vel H e o 1 l ogico ao n vel L. Esta associa ca o faz sentido se utilizarmos uma tecnologia com os circuitos a serem alimentados por tens oes negativas (como a ECL), porque o 0 l ogico corresponde a ` gama de tens oes pr oximas da da massa (0V), isto e, ao n vel alto (H), e o 1 l ogico ca reservado para a outra gama de tens oes, o n vel baixo (L).

L ogica positiva L ogica negativa

110

CAP ITULO 7. LOGICA DE POLARIDADE

L ogica de polaridade

Naturalmente, quando se utiliza a algebra de Boole estas quest oes n ao fazem sentido, apenas se tornando importantes quando queremos implementar um determinado circuito . Como daqui para a frente vamos estar interessados nas implementa co es, teremos de decidir por uma ou por outra ou, melhor ainda, achar uma solu ca o alternativa. o que faremos com a l E ogica de polaridade, em que prescindimos das associa c oes entre 0s, 1s, Ls e Hs . E de caminho vamos deixar cair completamente os 0s e os 1s (ou seja, apenas lidaremos com os Hs e os Ls), reservando os primeiros apenas para o tratamento alg ebrico das fun co es em tabelas de verdade, quadros de Karnaugh, express oes l ogicas, etc.

7.1.3

Tabelas de verdade f sicas e l ogicas

Para podermos utilizar a l ogica de polaridade tal como a enunci amos anteriormente, h a que proceder a algumas mudan cas que possivelmente j a est ao enraizadas no nosso pensamento. Por exemplo, consideremos a tabela de verdade de uma certa fun ca o booleana simples. No contexto da a lgebra de Boole n ao tivemos nenhuma diculdade em estabelecer essa tabela com os seus 0s e 1s. Mas se vamos prescindir dos 0s e 1s na implementa ca o dos circuitos digitais e na utiliza ca o da l ogica de polaridade, temos que poder desenhar um tipo diferente de tabela de verdade, apenas com Ls e Hs. Para distinguir os dois tipos de tabela designamos a primeira por tabela de verdade l ogica ou, mais simplesmente, e na linha do que zemos nos cap tulos anteriores, por tabela de verdade e a segunda por tabela de verdade f sica. Naturalmente, temos de perceber como passar das j a nossas conhecidas tabelas de verdade l ogicas para as correspondentes tabelas de verdade f sicas, e vice-versa, para todo e qualquer circuito digital. Para o fazer vamos recorrer a um exemplo. Suponhamos, ent ao, que tinhamos que resolver o seguinte problema pr atico: temos a ` nossa disposi ca o um determinado circuito, que desconhecemos (por exemplo, o circuito est a contido num circuito integrado cuja denomina ca o est a apagada), mas sabemos onde est ao as suas entradas e sa das. Com estes dados podemos injectar nas entradas n veis H ou L, e vericar os n veis gerados pelo circuito nas suas sa das. Desta forma podemos estabelecer a tabela de verdade f sica do circuito. A quest ao e saber de que circuito se trata. Suponhamos, ent ao, que com esta experi encia obtinhamos a tabela de verdade f sica da Tabela 7.1 para um circuito com duas entradas, A e B , e uma sa da, S. Se conseguirmos perceber o que este circuito representa em l ogica positiva (e j a agora, porque n ao em l ogica negativa?), podemos deduzir a express ao l ogica da fun ca o booleana simples que ele implementa. Ora a convers ao da tabela de verdade f sica para l ogica positiva e simples: basta substituir H por 1 e L por 0, como vimos acima pela deni ca o desta l ogica. Obtemos, ent ao, a Figura 7.2. Facilmente percebemos que o circuito em quest ao e uma porta NAND com 2 entradas.

Tabela de verdade (l ogica) Tabela de verdade f sica

7.1. LOGICAS DE POLARIDADE, POSITIVA E NEGATIVA

111

Tabela 7.1: Tabela de verdade f sica de um circuito desconhecido, cuja fun ca o pretendemos determinar

A L L H H

B L H L H

S H H H L

Tabela de verdade f sica A L L H H B L H L H S H H H L L ogica positiva H=1 L=0

Tabela de verdade em l ogica positiva A 0 0 1 1 B 0 1 0 1 S 1 1 1 0

Figura 7.2: A convers ao da tabela de verdade f sica da esquerda para a l ogica positiva d a a tabela de verdade em l ogica positiva de um NAND com 2 entradas E se zessemos o mesmo exerc cio para tentar perceber o signicado do circuito desconhecido em l ogica negativa, obtinhamos a Figura 7.3 e, da tabela de verdade l ogica, perceb amos que est avamos em presen ca de um porta NOR com 2 entradas.
Tabela de verdade f sica A L L H H B L H L H S H H H L L ogica negativa H=0 L=1 Tabela de verdade em l ogica negativa A 1 1 0 0 B 1 0 1 0 S 0 0 0 1

Figura 7.3: A convers ao da tabela de verdade f sica da esquerda para a l ogica negativa d a a tabela de verdade em l ogica negativa de um NOR com 2 entradas Mas anal trata-se de um NAND ou de um NOR? Naturalmente, o circuito e o mesmo . A nossa interpreta ca o e que e diferente. A diculdade com que nos deparamos prov em de querermos for car uma das interpreta co es. A u nica solu ca o razo avel para este dilema consiste em, quando estivermos a lidar com os circuitos l ogicos, prescindir totalmente da l ogica positiva e da l ogica negativa e, consequentemente, das tabelas de verdade l ogicas,

112

CAP ITULO 7. LOGICA DE POLARIDADE

dos 0s e dos 1s, e carmos pelas tabelas de verdade f sicas dos circuitos e pela l ogica de polaridade . Isto e, passamos a distinguir claramente entre:
Valores l ogicos 0 e 1

os valores l ogicos 0 e 1 que possuem as vari aveis booleanas simples e as fun co es booleanas simples, quando estas u ltimas s ao representadas por express oes booleanas como, por exemplo, f (x, y) = x y + x y + x y , ou por tabelas de verdade l ogicas, como em
x 0 0 1 1 y 0 1 0 1 f (x, y) 0 1 1 0

f (x, y) = x y + x y + x y

ou por quadros de Karnaugh como em


y x 0 1

0 0 1

1 1 0

f (x, y ) = x y + x y + x y = xy + xy

Contexto alg ebrico N veis de tens ao H e L

isto e, no contexto alg ebrico; e os n veis de tens ao H e L nos circuitos l ogicos que representam essas vari aveis e fun co es, e nas suas representa co es por logigramas como em
x
1 &

f(x,y) = x y + x y

1 &

Contexto f sico

ou nos correspondentes esquemas el ectricos e implementa co es f sicas numa determinada tecnologia, ou seja, no contexto f sico.

7.1. LOGICAS DE POLARIDADE, POSITIVA E NEGATIVA

113

Desta forma asseguramos que o contexto f sico dos circuitos e totalmente preservado a partir do contexto alg ebrico, no processo de implementa c ao dos circuitos l ogicos e das suas representa co es por logigramas e esquemas el ectricos. Mas, obviamente, teremos de cuidar do interface entre o contexto alg ebrico e o f sico, o que faremos j tornando f acil e natural a passagem de um para o outro. E a de seguida.

7.1.4

Portas l ogicas em l ogica de polaridade

Em l ogica de polaridade existem 2n variantes de um determinado circuito (porta l ogica, por exemplo) com n entradas e sa das. Por exemplo, existem 8 variantes de portas AND com 2 entradas, 4 variantes de portas Buer (apenas com uma entrada e uma sa da), 16 variantes de portas OR com 3 entradas, etc. Como exemplo, consideremos as 8 variantes de portas AND com 2 entradas . Os s mbolos das portas s ao constru dos colocando ou n ao indicadores de polaridade (qualicadores ) nas entradas e na sa da dos ANDs, como sugere a Figura 7.4.
&

S mbolos IEC das portas AND com 2 entradas

AND com 2 entradas activas a H e sa da activa a H AND com 2 entradas activas a H e sa da activa a L AND com 2 entradas activas a L e sa da activa a H AND com 2 entradas activas a L e sa da activa a L AND com 1 entrada activa a L e a outra a H, e sa da activa a H AND com 1 entrada activa a H e a outra a L, e sa da activa a H AND com 1 entrada activa a L e a outra a H, e sa da activa a L AND com 1 entrada activa a H e a outra a L, e sa da activa a L

&

&

&

&

&

&

&

Figura 7.4: S mbolos IEC das 8 variantes de portas AND com 2 entradas Naturalmente, temos de distinguir estas 8 variantes, j a que se trata de 8 circuitos distintos . A maneira de as distinguir e pelo n vel de actividade das entradas e das sa das. Para tanto, convenciona-se que a exist encia do qualicador numa entrada ou numa sa da torna essa entrada ou essa sa da activa a L, enquanto que a n ao exist encia do qualicador torna a entrada ou sa da activa a H.

N vel de actividade

Entrada ou sa da activa a H ou a L

114

CAP ITULO 7. LOGICA DE POLARIDADE

Assim, por exemplo, a primeira porta designa um AND com as entradas activas a H e a sa da activa a H, enquanto que a segunda porta e um AND com as entradas activas a H e a sa da activa a L; etc. Notemos, em particular, que a presen ca do qualicador numa entrada ou numa sa da n ao signica nega ca o , mas apenas actividade a L. Da que, por exemplo, n ao falemos em NAND para o segundo s mbolo da Figura 7.4, mas em porta AND com entradas activas a H e sa da activa a L. De facto, a designa ca o NAND (ou, pela mesma raz ao, a designa ca o NOR) apenas faz sentido em l ogica positiva ou em l ogica negativa, j a que sugere a exist encia de uma nega c ao a ` sa da do AND (do OR), o que n ao se verica com a presen ca do qualicador . Da mesma forma poder amos estabelecer os 8 s mbolos de portas OR com 2 entradas, ou os 16 s mbolos de portas AND com 3 entradas, etc. (a quest ao dos 4 s mbolos de Buers, com uma entrada e uma sa da, ser a estudada mais ` a frente).

7.1.5

Tabelas de verdade gen ericas e f sicas

Agora que j a sabemos identicar as diversas portas do mesmo tipo, importa colocar a seguinte quest ao: dado o s mbolo IEC de uma porta, como e que ela pode ser implementada, por exemplo em TTL (que usa preferencialmente uma l ogica positiva) ou em ECL (que usa preferencialmente uma l ogica negativa)? Para responder a ` quest ao, precisamos de estabelecer a tabela de verdade f sica de cada uma das portas e a correspondente tabela de verdade l ogica, em l ogica positiva ou negativa. Como j a sabemos gerar a tabela de verdade l ogica a partir da correspondente tabela de verdade f sica, temos que aprender a gerar a tabela de verdade f sica de uma porta a partir do seu s mbolo IEC. Para o podermos fazer, devemos colocar previamente uma outra quest ao: se temos 2n s mbolos IEC para outras tantas portas do mesmo tipo com n entradas e sa das, como e que elas se relacionam do ponto de vista f sico? De facto, deve haver uma rela c ao, dado que os seus s mbolos se obt em uns dos outros por inclus ao ou remo ca o de indicadores de polaridade.
Tabela de verdade gen erica Tabela de verdade gen erica das portas AND com 2 entradas

Por exemplo, dado que h a 8 portas AND com 2 entradas, o que e que h a de comum e de diferente para todas elas? O que h a de comum pode traduzir-se numa tabela de verdade gen erica para todos os 8 ANDs com 2 entradas. Essa tabela (Tabela 7.2) diz em que condi co es e que a sa da do AND vem activa (A), por deni c ao de AND (ou, para sermos mais precisos, por deni ca o de produto l ogico, adaptado a estas circunst ancias): apenas quando as duas entradas estiverem activas. Basta que uma delas esteja inactiva (I) para a sa da tamb em vir inactiva. Para passarmos desta tabela de verdade gen erica para todos os ANDs de 2 entradas a ` tabela de verdade f sica de um AND em particular, basta considerar os respectivos n veis de actividade nas entradas e nas sa das. Por exemplo, na Figura 7.5 ilustra-se a obten ca o da tabela de verdade f sica de um AND com 2 entradas activas a L e sa da activa a H. Como as entradas X e Y s ao activas a L, onde se encontra um A nas correspondentes colunas da tabela de verdade gen erica e colocado um L na tabela de verdade f sica, e onde

7.1. LOGICAS DE POLARIDADE, POSITIVA E NEGATIVA

115

Tabela 7.2: Tabela de verdade gen erica para todas as portas AND com 2 entradas

X I I A A

Y I A I A

Z I I I A

Tabela de verdade gen erica de um AND X X Y


&

Tabela de verdade f sica de um AND com entradas activas a L e sa da activa a H Entradas activas a L AL IH Sa da activa a H AH IL X H H L L Y H L H L (c) Z L L L H

Y I A I A (b)

Z I I I A

I Z I A A

(a)

Figura 7.5: Porta AND com 2 entradas activas a L e sa da activa a H; (a) s mbolo IEC; (b) tabela de verdade gen erica, v alida para todos os ANDs com 2 entradas; e (c) tabela de verdade f sica para o AND da parte (a) se encontra um I coloca-se um H. Por outro lado, como a sa da Z e activa a H, onde estiver um A coloca-se um H e onde estiver um I p oe-se um L. A partir da tabela de verdade f sica podemos obter em seguida a tabela de verdade em l ogica positiva e em l ogica negativa para a porta l ogica em quest ao (Figura 7.6). Finalmente, destas tabelas conclu mos estar em presen ca de um NOR em l ogica positiva, e de um NAND em l ogica negativa. Vamos agora ver a quest ao da representa ca o da porta das Figuras 7.5(a) e 7.6 em l ogica de polaridade, em l ogica positiva e em l ogica negativa. Relembremos, mais uma vez, que qualquer porta possui dois s mbolos. Assim sendo, a porta da Figura 7.5(a) vem representada, em l ogica de polaridade, pelo s mbolo de um AND com 2 entradas activas a L e sa da activa a H ou, em alternativa, pelo s mbolo de um OR com 2 entradas activas a H e sa da activa a L, como j a sabemos da Subsec ca o 7.1.1:
X Y
&

X Y

Mas como a porta em quest ao e representada por um NOR em l ogica positiva,

116

CAP ITULO 7. LOGICA DE POLARIDADE

Tabela de verdade gen erica X X Y


&

Y I A I A

Z I I I A Tabela de verdade em l ogica positiva X 1 Y 1 0 1 0 Z 0 0 0 1 NOR em l ogica positiva

I I A A

Tabela de verdade f sica X AND com entradas activas a L e sa da activa a H em l ogica de polaridade H H L L Y H L H L Z L L L H

H1 L0

1 0 0

H0 L1

Tabela de verdade em l ogica negativa X 0 0 1 1 Y 0 1 0 1 Z 1 1 1 0 NAND em l ogica negativa

Figura 7.6: A partir da tabela de verdade f sica de uma porta AND com 2 entradas activas a L e sa da activa a H, obtemos as correspondentes tabelas de verdade em l ogica positiva e em l ogica negativa conclu mos que a porta vem representada, nesta l ogica, pelos dois s mbolos alternativos de um NOR (um NOR propriamente dito ou um AND com as entradas negadas), isto e, os mesmos s mbolos da sua representa c ao em l ogica de polaridade:
X Y
&

X Y

NOR em l ogica positiva

A representa ca o simb olica e, contudo, diferente em l ogica negativa. Agora a porta vem representada pelos s mbolos alternativos de um NAND (um NAND propriamente dito, ou um OR com as entradas negadas):
X Y
1

X Y

&

NAND em l ogica negativa

Naturalmente, este exerc cio pode ser estendido identicamente a qualquer outra porta. Daqui resulta o seguinte processo de convers ao simb olica: dados os s mbolos de uma porta em l ogica de polaridade, podemos obter os s mbolos cor-

7.1. LOGICAS DE POLARIDADE, POSITIVA E NEGATIVA

117

respondentes em l ogica positiva sem fazer altera c ao nenhuma; para obter os s mbolos em l ogica negativa, podemos fazer uma de duas coisas: (i) mantemos a fun ca o (AND ou OR) e trocamos as polaridades nas entradas e na sa da; ou (ii) mantemos as polaridades e trocamos a fun c ao (AND por OR ou vice-versa). Por outro lado, para obtermos o s mbolo alternativo numa determinada l ogica, trocamos a fun ca o (AND por OR e vice-versa) e tamb em trocamos as polaridades . Por exemplo,
A B
&

AB

A B

A+B

ou
A B
&

AB

A B

A+B

como tinhamos visto anteriormente na Sec c ao 7.1.1 quando se armou que estas representa co es alternativas s ao consequ encia das leis de Morgan. De notar como se distinguem cuidadosamente as designa co es poss veis para a mesma porta : desenhamos a porta em l ogica de polaridade atendendo a `s polaridades das entradas e da sa da e a ` fun ca o (AND ou OR). Em l ogica positiva ou negativa designamos as fun co es por NAND ou por NOR (tais fun co es n ao existem em l ogica de polaridade), e falamos em nega co es nas entradas e nas sa das, em vez de polaridades. Em resumo, em l ogica de polaridade temos portas AND com n entradas, todas com a tabela de verdade gen erica da Tabela 7.3, (com a sa da activa s o quando todas as entradas estiverem activas), que podemos instanciar em 2n+1 portas AND f sicas distintas, consoante os n veis de actividade nas suas entradas e sa das. Tabela 7.3: Tabela de verdade gen erica de todas as portas AND com n entradas
E1 I I I A A E2 I I I A A E3 I I I A A En1 I I A A A En I A I I A S I I I I A Tabela de verdade gen erica das portas AND

Da mesma forma, temos portas OR com n entradas, todas com a tabela de verdade gen erica da Tabela 7.4, (com a sa da activa desde que pelo menos uma sicas disentrada esteja activa), que podemos instanciar em 2n+1 portas OR f tintas, consoante os n veis de actividade nas suas entradas e sa das.

Tabela de verdade gen erica das portas OR

118

CAP ITULO 7. LOGICA DE POLARIDADE

Tabela 7.4: Tabela de verdade gen erica de todas as portas OR com n entradas
E1 I I I A A E2 I I I A A E3 I I I A A En1 I I A A A En I A I I A S I A A A A

Tabela de verdade gen erica dos Buers

Finalmente, temos 4 variantes de Buers, que s ao portas com uma entrada e uma saida com a tabela de verdade gen erica da Tabela 7.5. Para todas elas, a sa da vem activa se a entrada estiver activa. Tabela 7.5: Tabela de verdade gen erica para todas as portas Buer
E I A S I A

Se agora instanciarmos as 4 variantes que resultam de atribuirmos n veis de actividade a ` entrada e a ` sa da, obtemos as seguintes portas l ogicas: um Buer com a entrada e a sa da activas a H, com o s mbolo IEC e a tabela de verdade f sica que se seguem.
E Buer com a entrada e a sa da activas a H
1

S L H

L H

Do ponto de vista l ogico, este Buer reproduz na sa da o n vel de tens ao que tiver sido aplicado a ` entrada; apesar da aparente inutilidade l ogica desta porta, ela ir a ser u til mais a ` frente, quando estudarmos a utiliza ca o da sua variante com sa da tri-state. um Buer com a entrada e a sa da activas a L, com o s mbolo IEC e a tabela de verdade f sica que se seguem.
E Buer com a entrada e a sa da activas a L
1

S H L

H L

7.1. LOGICAS DE POLARIDADE, POSITIVA E NEGATIVA

119

Tal como o anterior, este Buer reproduz na sa da o n vel que for aplicado a ` entrada, tendo os dois a mesma utilidade. um Buer com a entrada activa a H e a sa da activa a L, com o s mbolo IEC e a tabela de verdade f sica que se seguem.
Buer com a entrada activa a H e a sa da activa a L (porta NOT ou conversor de polaridade) E
1

S H L

L H

Trata-se de uma porta que umas vezes se comporta como uma porta NOT, ou inversor ou nega c ao, e outras vezes como um conversor de polaridade (esta u ltima designa ca o ser a tornada clara mais a ` frente). nalmente, um Buer com a entrada activa a L e a sa da activa a H, com o s mbolo IEC e a tabela de verdade f sica que se seguem.
Buer com a entrada activa a L e a sa da activa a H (porta NOT ou conversor de polaridade) E
1

Porta NOT (inversor, nega c ao) Conversor de polaridade

S L H

H L

Tal como o Buer anterior, temos agora tamb em uma porta NOT (por vezes, um conversor de polaridade), com o s mbolo alternativo. Tamb em por vezes se usa o s mbolo de uma porta XOR em l ogica de polaridade (a seguir ilustrado com 2 entradas activas a L e a sa da activa a H).
=1

A
1 &

A B = AB + AB
1 &

Figura 7.7: Circuito equivalente a uma porta XOR Dado que uma porta XOR pode ser sempre ser reduzida, por exemplo, ao circuito l ogico da Figura 7.7 (mas h a outros circuitos representativos de um XOR), o s mbolo desta porta justica-se sobretudo como forma compactada do referido circuito. H a, contudo, uma outra raz ao para o uso desse s mbolo: na tecnologia CMOS uma porta XOR n ao e implementada pelo cicrcuito anterior, ou equivalente, antes recorrendo a um tipo de portas diferentes designadas por portas

120

CAP ITULO 7. LOGICA DE POLARIDADE

de transmiss ao ; nessas condi co es, justica-se a utiliza ca o do s mbolo do XOR como representa ca o de uma porta b asica, ao mesmo n vel do das portas AND e OR.

7.1.6
Logigrama

Logigramas e esquemas el ectricos em l ogica de polaridade

Num logigrama desenhado em l ogica de polaridade e leg timo incluir portas complexas, com diferentes n veis de actividade, como a que se indica na Figura 7.8(a).
&

&
&

(a)

(b)

1 & 1 &

&

(c)

(d)

Figura 7.8: (a) Porta complexa, para implementar em TTL; (b) uma primeira transforma ca o, que substitui a porta AND com 3 entradas por duas portas AND com 2 entradas cada uma; (c) uma segunda transforma ca o, que desloca os indicadores de polaridade da entrada do AND para a sa da de dois Buers, transformando-os em portas NOT; e (d) uma terceira transforma ca o, que substitui os dois ANDs anteriores por um u nico
Esquema el ectrico

Em TTL existem portas AND com 3 entradas, mas as entradas devem ter todas os mesmos n veis de actividade: se os n veis de actividade forem H, a porta e um AND ou un NAND em l ogica positiva; se forem L, a porta e um NOR ou um OR em l ogica positiva.

Por em, quando queremos implementar a porta e passamos ao esquema el ectrico numa determinada tecnologia, deixamos de poder utilizar este s mbolo se ele n ao possuir contrapartida directa num circuito integrado ou em parte dele; nessas condi co es, temos de desenhar pormenorizadamente o circuito equivalente ` a porta. Por exemplo, em TTL n ao existe a porta da Figura 7.8(a) sob a forma de um circuito integrado. Para obter o circuito equivalente procedemos por etapas. Como em TTL existem portas com 2 entradas com os mesmos n veis de actividade, uma transforma ca o poss vel e a que se ilustra na Figura 7.8(b). Se em seguida colocarmos nas linhas de entrada dois Buers com entradas e sa das activas a H, a fun ca o n ao vem alterada. E se depois deslocarmos os indicadores de polaridade das entradas do primeiro AND para as sa das dos Buers, que s ao ent ao convertidos em portas NOT, obtemos o logigrama da Figura 7.8(c) sem alterar a fun ca o. Finalmente, se substituirmos os dois ANDs de 2 entradas por um u nico AND com 3 entradas activas a H, obtemos o logigrama da Figura 7.8(d).

7.1. LOGICAS DE POLARIDADE, POSITIVA E NEGATIVA

121

Como os tr es logigramas que obtivemos t em contrapartida sob a forma de circuitos integrados TTL, todos s ao pass veis de ser utilizados em esquemas el ectricos. Por exemplo, o logigrama da Figura 7.8(b) d a origem ao esquema el ectrico da Figura 7.9, formado por 1/4 de um NOR em l ogica positiva (do tipo 74LS02), e por 1/4 de um AND em l ogica positiva (do tipo 74LS08).
U1 1/4 x 74LS02 1 & 3 2 1 2

U2 1/4 x 74LS08
&

Figura 7.9: Esquema el ectrico que corresponde ao logigrama da Figura 7.8(b), e que utiliza portas l ogicas da sub-fam lia Low Power Schottky TTL Para nalizarmos esta quest ao, vamos estabelecer a tabela de verdade f sica da porta complexa da Figura 7.8(a). Porque se trata de um AND com 3 entradas, podemos desde logo gerar a sua tabela de verdade gen erica (Tabela 7.6). Tabela 7.6: Tabela de verdade gen erica de um AND com 3 entradas
A I I I I A A A A B I I A A I I A A C I A I A I A I A S I I I I I I I A

Porque se trata de um AND com duas entradas activas a L e uma entrada activa a H, e sa da activa a H, podemos converter a tabela de verdade gen erica na tabela de verdade f sica da porta em quest ao (Tabela 7.7, onde se admitiu, arbitrariamente, que as vari aveis A e B v em ligadas a `s entradas activas a L e que a vari avel C vem ligada a ` entrada activa a H). Evidentemente, em geral deparamo-nos com ciruitos mais complexos do que a porta da Figura 7.8(a). Por em, os princ pios que nos permitem obter as tabelas de verdade f sicas desses circuitos, bem como as suas implementa co es numa determinada tecnologia, s ao os mesmos que se acabaram de apresentar. Um outro problema que se p oe e o seguinte: dado que dispomos, para cada porta, de dois s mbolos alternativos, qual deles devemos utilizar em cada caso ? Por exemplo, qual dos s mbolos alternativos

122

CAP ITULO 7. LOGICA DE POLARIDADE

Tabela 7.7: Tabela de verdade f sica da porta da Figura 7.8(a), onde se admite que as vari aveis A e B v em ligadas a `s entradas activas a L e que a vari avel C vem ligada a ` entrada activa a H
A H H H H L L L L B H H L L H H L L C L H L H L H L H S L L L L L L L H

&

ou

devemos usar? A resposta a esta quest ao depende da forma do circuito que estamos a sintetizar. Por exemplo, se estivermos a representar o logigrama de uma fun ca o booleana simples em forma disjuntiva (soma de produtos) devemos usar o s mbolo que explicite que estamos a somar logicamente um certo n umero de produtos l ogicos, como se ilustra na Figura 7.10.
&

&

. . .
&

Figura 7.10: Logigrama (e esquema el ectrico simplicado) a utilizar quando se representa uma soma de produtos E mesmo que, por raz oes de oportunidade, estejamos a implementar esse circuito com NANDs em l ogica positiva, devemos usar a mesma estrutura no logigrama e no esquema el ectrico, como se indica na Figura 7.11(a). Ou seja, descartamos a possibilidade de usar o logigrama da Figura 7.11(b) porque, embora correcto do ponto de vista l ogico e, tal como o da Figura 7.11(a), equivalente ao do da Figura 7.10, n ao acentua o facto de estarmos a representar uma soma de produtos .

7.1. LOGICAS DE POLARIDADE, POSITIVA E NEGATIVA

123

&

NAND em l ogica positiva

&

&

&

F . . .
&

em vez de . . .
&

&

(a)

(b)

Figura 7.11: (a) Logigrama (e esquema el ectrico simplicado) a utilizar quando se representa uma soma de produtos implementada com NANDs em l ogica positiva; (b) embora este logigrama esteja correcto do ponto de vista l ogico e seja, como o anterior, equivalente ao logigrama da Figura 7.10, n ao acentua que estamos a representar uma soma de produtos, pelo que n ao deve ser utilizado

Por outro lado, podemos alterar o logigrama da Figura 7.10 substituindo os ANDs com entradas e sa das activas a H por ORs com entradas e sa das activas a L, e o OR com entradas e sa da activa a H por um AND com entradas e sa da activa a L, como se faz na Figura 7.12 (b).

&

&

F . . .
1

&

. . .
&

(a)

(b)

Figura 7.12: (a) Logigrama (e esquema el ectrico simplicado) inicial; (b) logigrama equivalente e correcto do ponto de vista l ogico, mas que tamb em n ao acentua o facto de estarmos a representar uma soma de produtos, pelo que n ao deve ser utilizado Mas, mais uma vez, nesse logigrama n ao se acentua o facto de estarmos a representar uma soma de produtos , pelo que n ao o devemos utilizar. Identicamente, se a fun ca o for dada em forma conjuntiva (produto de somas) como na Figura 7.13(a), podemos transformar o seu logigrama (e esquema el ectrico parcial) como na Figura 7.13(b), implementando-a com NORs em l ogica positiva, porque preserv amos a estrutura da fun ca o.

124

CAP ITULO 7. LOGICA DE POLARIDADE

NOR em l ogica positiva

&

F . . .
1

&

. . .
1

(a)

(b)

Figura 7.13: (a) Logigrama (e esquema el ectrico simplicado) de uma fun ca o em forma conjuntiva (produto de somas); (b) logigrama equivalente e correcto do ponto de vista l ogico, que reecte o facto de estarmos a lidar com um produto de somas, embora implementado com NORs em l ogica positiva

7.2

Conte udo Sem antico

At e agora utiliz amos designa co es para as vari aveis e fun co es booleanas simples, por exemplo A, B, C, x, y, z, . . . , com designa co es que n ao ilustram as ac co es a elas associadas. Ou seja, procur amos dar designa c oes simplicadas a `s vari aveis e fun co es, a m de as poder utilizar ecazmente nas express oes l ogicas, nos quadros de Karnaugh, etc. Quando apenas temos de lidar com os aspectos alg ebricos dos sistemas l ogicos e vantajoso reter esses tipos de designa co es. Contudo, quando passamos ao n vel f sico e a ` implementa ca o dos circuitos l ogicos, torna-se imprescind vel aprofundar esta quest ao, passando a conferir conte udo sem antico a `s vari aveis a a `s fun co es. Explicitemos melhor o signicado desta arma ca o. Se uma determinada vari avel (ou fun ca o) booleana simples identicar uma situa c ao em que uma certa porta est a aberta, por exemplo, ser a mais interessante design a-la por P ORT A.ABERT A ou por outra designa ca o semelhante, em vez de A ou de x. Diz-se, nessas circunst ancias, que se conferiu conte udo sem antico ` a vari avel (ou a ` fun ca o) em jogo. Para percebermos melhor o signicado destes conte udos, comecemos por considerar um sensor de entrada para o alarme de um carro, alarme esse que deve detectar a situa ca o em que a porta do condutor se encontra aberta. Vamos concentrar a nossa aten ca o no sensor e na liga ca o ao alarme. O sensor e constitu do por um comutador de duas posi c oes, por uma resist encia de pull-up ligada a ` tens ao de alimenta ca o, Vcc , e por uma porta NOT (Figura 7.14).

Conte udo sem antico

Sensor (entrada)

7.2. CONTEUDO SEMANTICO


VCC Sensor R U1 H
1

125

Alarme

S mbolos: Carro com porta aberta

PORTA.ABERTA L Carro com porta fechada

Figura 7.14: Sensor de alarme de um carro: quando a porta do condutor est a aberta, na linha de sa da do sensor aparece um n vel L Se o comutador estiver ligado a ` resist encia (o que corresponde, com esta montagem, a ` situa ca o de porta aberta), teremos na sua sa da uma tens ao pr oxima da do NOT, um n vel L adequado para aplica ca o a ` entrada do de Vcc e, na sa circuito de alarme. Se, pelo contr ario, o comutador estiver ligado a ` massa (e, portanto, a porta est a fechada), teremos uma tens ao nula a ` entrada do NOT e, em consequ encia, um n vel H na sua sa da (Figura 7.15).
VCC Sensor R U1 L
1

Alarme

S mbolos: Carro com porta aberta

PORTA.FECHADA H Carro com porta fechada

Figura 7.15: O mesmo sensor de alarme da gura anterior: quando a porta do condutor est a fechada, na linha de sa da do sensor aparece um n vel H O problema que se p oe reside, ent ao, na designa c ao a dar a ` linha de sa da do sensor e a ` vari avel que nela se suporta . Em rela ca o a ` designa ca o da vari avel, podemos escolher uma de duas em alternativa, P ORT A.ABERT A ou P ORT A.F ECHADA ,

A designa ca o linha deve ser tomada num sentido lato, incluindo nela toda e qualquer liga ca o contida num logigrama ou esquema el ectrico, seja ela representativa de um o num prot otipo em breadboard, de uma pista de um circuito impresso ou de um circuito integrado, etc.

consoante a liga ca o que zermos do sensor a ` porta do carro. Para a liga ca o que se ilustra na Figura 7.14, ou seja, em que a posi ca o de porta aberta corresponde vel L a ` sa da do a ` situa ca o em que o comutador est a ligado ao Vcc , com um n NOT sempre que a porta estiver aberta (naturalmente, pod amos ter optado pela liga ca o contr aria), a designa ca o da linha dever a ser P ORT A.ABERT A L .

126

CAP ITULO 7. LOGICA DE POLARIDADE

Vari avel activa Vari avel activa a L

Quere-se com esta designa ca o armar que, quando o n vel de tens ao na linha e L, a porta est a aberta e a vari avel P ORT A.ABERT A est a activa. A designa ca o anterior deve identicar, ent ao, a vari avel P ORT A.ABERT A como sendo activa a L. Naturalmente, se nestas circunst ancias o n vel na linha for H e porque o comutador est a na outra posi ca o, a porta do carro est a fechada (admitimos que a porta apenas pode encontar-se numa destas duas posi co es, j a que estamos a lidar com vari aveis bin arias), e a vari avel P ORT A.ABERT A est a inactiva. Na Figura 7.15 ilustra-se a situa ca o alternativa, em que damos a outra designa ca o sem antica a ` vari avel, que se passa a chamar P ORT A.F ECHADA. Para que o problema seja exactamente o mesmo da Figura 7.14, devemos agora designar a linha por P ORT A.F ECHADA H , o que signica que o carro tem a porta fechada quando na linha tivermos um n vel H e aberta para o n vel L. Neste caso, a designa ca o anterior deve, ent ao, identicar a vari avel P ORT A.F ECHADA como sendo activa a H. Em resumo, verica-se que a linha que serve de suporte a uma vari avel tem pelo menos duas designa co es em alternativa, para as mesmas condi c oes no circuito, sendo opcional a escolha entre as duas. Constata-se ainda que a designa ca o da linha e composta pela designa ca o da vari avel seguida do n vel de tens ao em que a vari avel vem activa. Por exemplo, a linha com a designa ca o P ORT A.ABERT A L suporta a vari avel P ORT A.ABERT A , que e activa a L.

Vari avel inactiva

Vari avel activa a H

Fun c ao activa (a H, a L) Actuador (sa da)

O que se acabou de dizer para uma vari avel de entrada de um circuito l ogico e igualmente v alido para uma fun c ao de sa da e para a sua liga ca o a um actuador (actuador esse tomado num sentido lato, incluindo indicadores luminosos). Finalmente, dado que P ORT A.ABERT A P ORT A.F ECHADA e P ORT A.F ECHADA P ORT A.ABERT A , conclu mos que podemos usar, para a linha em quest ao, n ao duas mas quatro op co es, P ORT A.ABERT A L P ORT A.F ECHADA H P ORT A.ABERT A H P ORT A.F ECHADA L ,

(7.1)

7.2. CONTEUDO SEMANTICO escolhendo-se em cada situa ca o a mais adequada.

127

Assim, se na designa ca o da linha pretendermos acentuar o facto de o n vel L indicar uma porta aberta, como na Figura 7.14, utilizaremos P ORT A.ABERT A L ou P ORT A.F ECHADA L .

Se, pelo contr ario, quisermos real car que e o n vel H que deve indicar porta fechada, como na Figura 7.15, utilizaremos P ORT A.F ECHADA H ou P ORT A.ABERT A H .

N ao esque camos, por em, que temos uma situa ca o completamente diferente se quisermos que o n vel de tens ao H indique porta aberta e que o n vel L indique porta fechada. Nesse caso teremos: P ORT A.ABERT A H P ORT A.F ECHADA L P ORT A.ABERT A L P ORT A.F ECHADA H , que e formalmente diferente do conjunto de designa co es (7.1). Estas designa co es s ao aplic aveis a ` situa ca o oposta a ` que foi representada nas Figuras 7.14 e 7.15, com o sensor a indicar porta aberta quando ligado a ` massa. Uma consequ encia importante do facto de podermos, em geral, designar qualquer linha por uma de quatro maneiras diferentes, mas equivalentes, e que as vari aveis ou fun co es que se suportam nessa linha possuem n veis de actividade que n ao est ao correlacionados com os n veis de actividade nas entradas e nas sa das nos s mbolos das portas a `s quais a linha se liga , como mostra a Figura 7.16 para um caso particular.

(7.2)

7.2.1

Buers, inversores e conversores de polaridade

As m ultiplas designa co es que podemos dar a uma determinada linha permite-nos ainda justicar a arma ca o, feita a prop osito da tabela de verdade gen erica de um Buer, na Tabela 7.5, p agina 118, de que as portas Buer que possuem n veis de actividade diferentes nas entradas e nas sa das podem ser interpretados como portas NOT ou, alternativamente, como conversores de polaridade. Com efeito, suponhamos que se aplica a ` entrada de uma dessas portas uma vari avel ACT U A (naturalmente, sendo gerada por uma outra porta qualquer, poder a igualmente ser considerada como uma fun ca o), e que essa vari avel (ou fun ca o) e activa a L. A designa ca o da linha de entrada da porta dever a, ent ao, ser ACT U A L. Se considerarmos que a porta se comporta como um NOT [Figura 7.17(a)], ca o N AO.ACT U A obtemos a ` sa da a fun ca o ACT U A ou, em alternativa, a fun o complemento da fun ca o de entrada com o mesmo n vel de actividade. Ou seja, designamos a linha de sa da por ACT U A L ou por N AO.ACT U A L. Se, pelo contr ario, interpretarmos a porta como um conversor de polaridade [Figura 7.17(b)], designamos a sa da por ACT U A H, ou seja, usando a mesma

128
U2

CAP ITULO 7. LOGICA DE POLARIDADE


U2

1
U1 & COMUTADOR.FECHADO H

U1
& COMUTADOR.ABERTO L

U3 &

U3 &

U2

U2

1
U1 & COMUTADOR.ABERTO H U1 & COMUTADOR.FECHADO L

U3 &

U3 &

Figura 7.16: Quatro exemplos do mesmo circuito , com designa co es e n veis de actividade variados, por em totalmente equivalentes, para as fun co es booleanas simples geradas pela porta AND da esquerda. Como podemos constatar, os n veis de actividade das fun c oes n ao est ao correlacionados com o n vel de actividade da sa da da porta geradora da fun ca o nem com os n veis de actividade das entradas das portas a ` qual a fun ca o vem aplicada

Buer como porta NOT

Buer como porta conversora de polaridade

ACTUA L ACTUA H

ACTUA L ACTUA H

ACTUA L ACTUA H

ACTUA H ACTUA L

ACTUA L ACTUA H

ACTUA L ACTUA H

ACTUA L ACTUA H

ACTUA H ACTUA L

(a)

(b)

Figura 7.17: (a) Utiliza ca o de um Buer como porta inversora (ou NOT); e (b) como conversor de polaridade

vari avel (ou fun ca o) de entrada, ACT U A, mas com a polaridade trocada. Em qualquer dos casos, a tabela de verdade gen erica do Buer e a da Tabela 7.5, e a tabela de verdade f sica do NOT ou do conversor de polaridade e igual nos dois casos. Naturalmente, outro tanto se passaria se a vari avel (ou fun ca o) de entrada fosse activa a H, como ali as tamb em se explicita na Figura 7.17.

7.3. LOGIGRAMAS E EXPRESSOES BOOLEANAS

129

7.3

Logigramas e Express oes Booleanas

Nesta Sec ca o vamos abordar dois problemas t picos na l ogica de polaridade: (i) dada a express ao booleana de uma dada fun ca o booleana simples, pretende-se obter o logigrama da fun ca o se forem conhecidos os n veis de actividade das vari aveis independentes e da pr opria fun ca o; e (ii) o problema oposto, isto e, dado o logigrama de um circuito, pretende-se obter a express ao da fun ca o de sa da e a correspondente tabela de verdade f sica.

7.3.1

Gera c ao de logigramas

Vamos ent ao supor que e conhecida a express ao booleana de uma dada fun ca o booleana simples e ainda os n veis de actividade das vari aveis de entrada e da pr opria fun ca o. Pretende-se obter o logigrama da fun ca o. Para abordar este problema consideremos o seguinte exemplo: e dada a fun ca o F = A B + A C e as vari aveis A, B e C s ao geradas de tal forma que A L, B L, oes que t em a ver com o circuito a e C H. Pretende-se ainda que F L por raz jusante, ao qual F vai ser aplicada. Come camos por gerar um logigrama para F que n ao leva em linha de conta os n veis de actividade nas entradas e na sa da , como se ilustra na Figura 7.18.
1

A
&

AB
1

B
&

F = AB + AC AC

Figura 7.18: Logigrama da fun ca o F = A B + A C que n ao leva em linha de conta os n veis de actividade nas entradas e na sa da Em seguida inserimos no logigrama as vari aveis e a fun ca o com n veis de actividade a H. Naturalmente, o logigrama n ao vem alterado por esta opera c ao (Figura 7.19).
1

A H

A H A L
&

AB H
1

B H
&

F H = (A B + A C) H AC H

C H

Figura 7.19: Inclus ao, no logigrama anterior, das vari aveis e da fun ca o com n veis de actividade a H

130

CAP ITULO 7. LOGICA DE POLARIDADE

A terceira fase passa agora a tomar em considera ca o os n veis de actividade exigidos. Para tanto, temos de adaptar o logigrama obtido a esses n veis, ajustando os n veis de actividade das entradas das portas de entrada e da sa da da porta de sa da, como sugere a Figura 7.20.
1

A L

A H A L
&

AB H
1

B L
&

F L = (A B + A C) L AC H

C H

Figura 7.20: Logigrama modicado que leva em linha de conta os n veis de actividade correctos para as vari aveis de entrada e para a fun ca o Em rela ca o ao logigrama obtido ressalta a redund ancia do Buer com entrada e sa da activa a L, que pode ser removido. Para refor car esta ideia, notar que a entrada e a sa da do Buer possuem a mesma designa ca o, A L. Obt em-se, ent ao, o logigrama da Figura 7.21, na sua forma nal.
A L
&

AB H
1

B L
&

F L = (A B + A C) L AC H

C H

Figura 7.21: Logigrama nal para a fun ca o Embora leg timo, este logigrama n ao est a descrito numa forma adequada para ser implementado sicamente. Por outras palavras, n ao e um esquema el ectrico . Tal deve-se, como j a sabemos, ao facto de n ao existirem portas AND integradas com n veis de actividade diferentes nas entradas. Se quisermos implementar, por exemplo em TTL, o logigrama anterior, temos que modic a-lo sem alterar a fun ca o . Comecemos por incluir dois Buers com ao entrada e sa da activas a H nas linhas A L e B L (Figura 7.22), o que n altera a fun ca o. Notemos que a ` sa da dos Buers temos fun co es com a mesma designa ca o e n vel de actividade das vari aveis nas suas entradas. Em seguida deslocamos os indicadores de polaridade que est ao a `s entradas dos ANDs para as sa das dos Buers, o que tamb em n ao altera em nada a fun ca o. Ao faz e-lo, por em, passamos a ter ANDs que existem em TTL. Por outro lado, passamos, agora, a ter nas sa das dos Buers as mesmas fun co es mas com a polaridade oposta, como mostra o esquema el ectrico da Figura 7.23. Nessas condi co es, os Buers passam a funcionar como portas NOT ou como conversores de polaridade (iremos ver qual a designa ca o mais adequada j a a seguir).

7.3. LOGIGRAMAS E EXPRESSOES BOOLEANAS

131

A L
& 1

B L
1

B L

AB H
1

F L = (A B + A C) L A L
&

AC H

C H

Figura 7.22: Altera ca o do logigrama anterior, que n ao altera a fun ca o


A H
1 &

B L
1

B H

AB H
1

F L = (A B + A C) L A H
&

AC H

C H

Figura 7.23: Esquema el ectrico para implementa ca o da fun ca o dada Finalmente, mudamos a designa ca o A L na entrada superior para A H. Esta nova designa ca o, sendo equivalente, tem, contudo, o n vel de actividade adaptado ao n vel de actividade da entrada do AND a que se liga. Este e um princ pio fundamental para a correcta gera ca o e leitura dos logigramas em l ogica de polaridade: de entre as v arias designa co es alternativas que cada linha do logigrama pode ter, escolhemos sempre a alternativa que faz coincidir o n vel de actividade da vari avel ou fun ca o que a linha suporta com o n vel de actividade da entrada da porta a que a linha est a ligada . Embora este procedimento n ao seja estritamente necess ario, como o provam os exemplos da Figura 7.16, na p agina 128, esta forma de actuar garante a correcta interpreta ca o das v arias fun co es interm edias e nal do logigrama. Por exemplo, ` sa da do AND superior (porque a `s suas lemos directamente a fun ca o A B a ca o B ), a fun ca o A C a ` sa da do AND entradas aplicamos a vari avel A e a fun ` sa da do inferior (porque temos A e C a `s suas entradas), e F = A B + A C a esquema el ectrico (porque as entradas do OR s ao A B e A C ). Por outro lado, devemos notar a designa ca o dada a `s linhas de sa da dos Buers, que suportam fun co es com n veis de actividade adaptados aos n veis de actividade das entradas dos ANDs a que se ligam. O Buer que transforma B L em e um conversor de polaridade . O outro Buer, que transforma A H em B H e uma porta NOT . A H,

7.3.2

Express oes booleanas a partir de logigramas

Vamos agora considerar o problema inverso do anterior: dado um logigrama em l ogica de polaridade, pretendemos determinar a express ao l ogica da fun c ao de sa da e a correspondente tabela de verdade f sica.

132

CAP ITULO 7. LOGICA DE POLARIDADE

No que toca a ` obten ca o da express ao l ogica da fun ca o de sa da procuramos, como se disse anteriormente, escolher para cada linha do logigrama a vari avel ou fun ca o mais adequada, que garanta a igualdade entre o n vel de actividade dessa vari avel ou fun ca o e o n vel de actividade da entrada da porta a que a linha se liga. Consideremos o logigrama da Figura 7.24.
A H B L C H D L
1

&

X H
1

F L

Figura 7.24: Logigrama que serve de exemplo Notemos que o logigrama cont em alguns dos desajustes que acab amos de mencionar. Por essa raz ao redesignamos algumas das linhas de entrada, mantendo a fun ca o e o logigrama (Figura 7.25).
Conversor de polaridade

A L B H C L D L

A H

&

X H = (A B C) H
1

F H

Figura 7.25: Logigrama que resulta do anterior por redesigna ca o de algumas das linhas de entrada Podemos agora constatar que a ` entrada do AND existem duas vari aveis, B e C , e uma fun ca o, A, cujos n veis de actividade coincidem com os n veis de actividade das entradas da porta. Logo, a fun ca o X a ` sa da do AND tem a express ao X = A B C . Como esta fun ca o tem o n vel de actividade oposto ao n vel da entrada do OR a ` qual a linha de suporte se liga, devemos redesignar X H para X L, como mostra a Figura 7.26. Por id entica raz ao, redesignamos tamb em a fun c ao de em como mostra a gura. sa da, de F L para F H, tamb Nestas condi co es, e s o nestas, o OR tem presente a `s suas entradas D L e X L, ca o F = X + D. Ent ao, gerando na sua sa da F H a fun F = X +D = AB C + D, que poderemos simplicar para F = A B C D. No que diz respeito a ` gera ca o da tabela de verdade f sica do circuito, temos que estender o que se fez anteriormente relativamente a este tipo de tabelas, e

7.3. LOGIGRAMAS E EXPRESSOES BOOLEANAS


1

133

A L B H C L D L

A H

&

X H = (A B C) H X L = (A B C) L
1

F H = (X + D) H

Figura 7.26: Logigrama que resulta do anterior por redesigna c ao das linhas que suportam a fun ca o interm edia X e a fun ca o de sa da F incluir nela os n veis de actividade das vari aveis de entrada e da fun ca o . Com efeito, s o assim podemos analisar uma linha qualquer da tabela e perceber quais as vari aveis que est ao activas e, em consequ encia disso, deduzir o n vel de tens ao na sa da percebendo, assim, se a fun ca o de sa da est a ou n ao activa. Consideremos na Tabela 7.8 a tabela de verdade f sica do circuito da Figura 7.24. A tabela tem as linhas numeradas para facilitar a exposi ca o do racioc nio. Tabela 7.8: Tabela de verdade f sica do circuito da Figura 7.24
# linha 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A H L L L L L L L L H H H H H H H H B L L L L L H H H H L L L L H H H H C H L L H H L L H H L L H H L L H H D L L H L H L H L H L H L H L H L H F L H H H H H L H H H H H H H H H H

Podemos preencher a tabela linha a linha, deduzindo a actividade ou inactividade das entradas e sa das das portas e, por esse modo, deduzir os n veis de tens ao nas diversas linhas do circuito, at e chegarmos ao n vel de tens ao na linha que suporta a fun ca o de sa da. Por exemplo, a linha 0 da tabela imp oe n veis L em todas as linhas de entrada. Ora com um L na linha A H, a entrada do conversor de polaridade est a activa, e, por conseguinte, a sua sa da tamb em deve estar activa (por deni ca o de Buer, vd . a Tabela 7.5). Como essa sa da e activa a H, temos um H na linha

134

CAP ITULO 7. LOGICA DE POLARIDADE

que liga essa sa da a ` entrada superior do AND [Figura 7.27(a)].


Entrada activa A H (a) B L C H D L L L L L Entrada inactiva A H (b) B L C H D L L L L L
1 1 1

Sa da activa H
&

F L

Sa da inactiva
&

L
1

F L

A H (c) B L C H D L

L L L L

Entradas activas
&

L
1

Sa da activa H F L

Figura 7.27: Estado das linhas do circuito quando aplicamos a `s entradas os n veis de tens ao que correspondem a ` primeira linha da Tabela 7.8 Ou seja, o AND tem um n vel H na linha superior e dois n veis L nas outras duas linhas. Isso quer dizer que a entrada superior e a entrada inferior est ao activas, mas a entrada do meio est a inactiva. Ora este facto e suciente para tornar inactiva a sa da do AND (por deni ca o de AND, vd . a Tabela 7.3), e como essa sa da e activa a H, signica que temos um L na linha de sa da do AND [Figura 7.27(b)]. Segue-se que o OR tem as duas entradas activas, pelo que a sua sa da deve estar activa (por deni ca o de OR, vd . a Tabela 7.4). Como essa sa da e activa a H, devemos ter um H na linha de sa da [Figura 7.27(c)], como salienta a Tabela 7.8 na linha 0. E, da mesma forma, poder amos construir as restantes linhas da Tabela 7.8. Mas tamb em podemos preench e-la globalmente e de forma mais expedita, se olharmos com aten ca o para o logigrama da Figura 7.24. Por exemplo, podemos constatar que o AND tem a sa da inactiva, a L, desde que pelo menos uma das suas entradas esteja inactiva (por deni ca o de AND). Ora isso acontece em tr es situa co es: a a L (e a entrada a que essa linha se liga e activa a H), o a linha B L est que acontece nas linhas 0 a 3 e 8 a 11 da tabela;

7.3. LOGIGRAMAS E EXPRESSOES BOOLEANAS

135

a a H (e a entrada a que essa linha se liga e activa a L), o a linha C H est que acontece nas linhas 2 e 3, 6 e 7, 10 e 11, e 14 e 15 da tabela; a linha A H est a a H e, por conseguinte, a sa da do Buer est a a L (e a entrada a que essa linha se liga e activa a H), o que acontece nas linhas 8 a 15 da tabela. Nestas tr es situa co es a entrada superior do OR est a activa, a L, pelo que a sua sa da est a activa, a H (por deni ca o de OR). Logo, a sa da do circuito vem a H (e a fun ca o de sa da est a inactiva) nas linhas 0 a 3 e 6 a 15 da tabela. Sobejam as linhas 4 e 5. Devemos notar que, para as linhas pares, com D L a L, a entrada inferior do OR nal est a activa, o que e suciente para que a sa da dessa porta venha activa, isto e, a H. Logo, a fun ca o F vem a H na linha 4. Resta a linha 5, em que a fun ca o F vem a L. Retomemos ent ao a tabela anterior, que reproduzimos na Tabela 7.9. Tabela 7.9: Ainda a tabela de verdade f sica do circuito da Figura 7.24
# linha 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A H L L L L L L L L H H H H H H H H B L L L L L H H H H L L L L H H H H C H L L H H L L H H L L H H L L H H D L L H L H L H L H L H L H L H L H F L = ABCD L H H H H H L H H H H H H H H H H

Como a fun ca o F s o vem activa na linha 5 (n ao esquecer que F e activa a L), ela deve ser constitu da por apenas um mintermo. Vamos ver que mintermo e esse. ` primeira vista poderia parecer que se trata do mintermo m5 , visto que ele A aparece na linha 5 da tabela. Mas isso n ao e verdade, como podemos constatar pelo facto de F estar activa quando: A H est a a L ou, o que e o mesmo, A L est a a L, ou ainda a vari avel A est a activa;

136

CAP ITULO 7. LOGICA DE POLARIDADE

a a H ou, o que e o mesmo, B H est a a H, ou ainda a vari avel B B L est est a activa; C H est a a L ou, o que e o mesmo, C L est a a L, ou ainda a vari avel C est a activa; e, nalmente, a a H ou, o que e o mesmo, D H est a a H, ou ainda a vari avel D L est D est a activa; Segue-se que a fun ca o s o vem activa quando as vari aveis A e B e C e D est ao activas, pelo que F deve ser, na realidade, o produto l ogico dessas vari aveis, tal como tinhamos concluido directamente do logigrama da fun ca o. Ou seja, F = A B C D = m0 . Notemos, ent ao, que o n umero da linha que corresponde a um determinado mintermo da fun ca o n ao coincide com o ndice do mintermo . Tal aconteceria se as vari aveis fossem todas activas a H porque, nesse caso, elas vinham activadas com um H e inactivadas com um L, qualquer que fosse a linha da tabela que estivessemos a considerar. Como, neste exemplo, os n veis de actividade s ao diferentes de H, segue-se que s ao diferentes o n umero da linha em que a fun ca o vem activa e o ndice do mintermo que constitui a primeira forma can onica da fun ca o. Repare-se que pod amos ter raciocinado da forma alternativa, considerando os maxtermos da fun ca o nas linhas em que F est a inactiva. Por exemplo, na linha 0 temos F inactiva. Ora, para que a fun ca o venha inactiva, e suciente que uma das seguintes vari aveis, A ou B ou C ou D, venha inactiva, o que corresponde amos deduzir em rela ca o a `s outras linhas ao maxtermo M5 . E outro tanto pod da tabela.

7.4

Exemplo de Utiliza c ao

Vamos considerar novamente o exemplo do alarme de carro do in cio do Cap tulo 6 e que usa n ao apenas a porta do lado do condutor, mas todas as 4 portas, para fazer actuar o alarme caso alguma esteja aberta quando a chave de igini ca o est a ligada. Pretende-se ainda activar o alarme caso o carro esteja estacionado com as luzes acesas. Vamos representar cada porta por uma vari avel, P A1 a P A4, que estar a aL quando a porta correspondente est a aberta (os sensores que geram estas vari aveis foram desenhado anteriormente). A fun ca o P ORT AS.ABERT AS signicar a, quando activa, que existe pelo menos uma porta aberta. Ent ao teremos P ORT AS.ABERT AS = P A1 + P A2 + P A3 + P A4 . Do mesmo modo, LU Z ser a uma vari avel que est a a H quando as luzes est ao acesas, e CHAV E uma vari avel que est a a L quando a chave da igni c ao est a ligada. f E acil de ver que o alarme (fun ca o ALARM E ) ser a obtido pela express ao ALARM E = CHAV E P ORT AS.ABERT AS + CHAV E LU Z .

7.4. EXEMPLO DE UTILIZAC AO

137

Deduzimos do enunciado do problema que as vari aveis de entrada P A1 a P A4 s ao activas L, que a vari avel LU Z e activa a H e que a vari avel CHAV E e activa a L. Nada e dito, por em, sobre o n vel de actividade da fun ca o ALARM E , de sa da, nem sobre o n vel de actividade da fun ca o P ORT AS.ABERT AS , uma fun ca o interm edia. claro, o n E vel de actividade da fun ca o ALARM E tem a ver com o circuito a jusante, que h a-de accionar o sinalizador ac ustico ou luminoso do alarme do carro. Pelo contr ario, a decis ao sobre o n vel de actividade da fun ca o P ORT AS.ABERT AS e exclusivamente de quem desenha o logigrama do circuito. Admitiremos, arbitrariamente, que as duas fun co es s ao activas a H. Nestas condi co es, podemos de imediato desenhar o logigrama da Figura 7.28 (comparar com o logigrama da Figura 6.1, na p agina 95, desenhado em l ogica positiva ).
PA1 PA2 PA3 PA4 L L L L
1

PORTAS.ABERTAS H

& 1

CHAVE L CHAVE H LUZ H

ALARME H
&

Figura 7.28: Logigrama do alarme do carro A passagem a esquema el ectrico implica a introdu ca o de um conversor de polaridade entra a linha CHAV E L e a entrada inferior do AND superior, que e activa a H (Figura 7.29).
U1 74LS20 PA1 PA2 PA3 PA4 L L L L
1

PORTAS.ABERTAS H

CHAVE L

U2-2 1/4 74LS00 U2-1 1/4 74LS00 & & CHAVE H U2-3 1/4 74LS00
&

U2-4 1/4 74LS00


1

ALARME H

CHAVE H LUZ H

Figura 7.29: Esquema el ectrico do alarme do carro A linha de sa da do conversor ser a, ent ao, designada por CHAV E H, e a vari avel CHAV E ter a, nessa linha, o mesmo n vel H de polaridade da entrada da porta.

138

CAP ITULO 7. LOGICA DE POLARIDADE

Por outro lado, aproveitamos para obter o menor n umero de integrados no esquema el ectrico em l ogica positiva (TTL), o que se consegue substituindo o conversor de polaridade por uma porta NAND de 2 entradas. No total vamos precisar de 1 integrado, U1, formado por uma porta NAND de 4 entradas (do tipo 74LS20), e de outro integrado, U2, com 4 portas NAND de 2 entradas (do tipo 74LS00).

7.5

Refer encias Bibliogr acas

Este Cap tulo n ao tem refer encias bibliogr acas.

7.6

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. () 7.1 Em l ogica de polaridade n ao existem portas NAND e NOR. Existem apenas portas AND, OR, NOT e conversores de polaridade (por vezes tamb em portas XOR, embora estas possam sempre ser compostas por portas dos tipos anteriores). Em contrapartida, a inclus ao de indicadores de polaridade permite obter todas as variantes de portas de que necessitamos. Diga que integrados TTL (em l ogica positiva) utilizaria para implementar as seguintes portas com 2 entradas, e desenhe os s mbolos IEC para cada uma delas: (a) porta OR com as entradas e a sa da activas a L; (b) porta AND com as entradas e a sa da activas a L; (c) porta OR com as entradas activas a H e a sa da activa a L; (d) porta AND com as entradas activas a H e a sa da activa a L; (e) porta OR com as entradas activas a L e a sa da activa a H; (f) porta AND com as entradas activas a L e a sa da activa a H. 7.2 Repita o exerc cio anterior para as seguintes portas com 3 entradas (possivelmente necessitar a de circuitos mais complexos do que uma simples porta de substitui ca o): (a) (b) (c) (d) (e) (f) ()
Tabela de verdade gen erica das portas XOR com 2 entradas

()

porta OR com 2 entradas activas a H e uma a L, e a sa da activa a H; porta OR com 2 entradas activas a H e uma a L, e a sa da activa a L; porta AND com 2 entradas activas a H e uma a L, e a sa da activa a H; porta AND com 2 entradas activas a H e uma a L, e a sa da activa a L; porta XOR com as 3 entradas activas a H e a sa da activa a H; porta XOR com as 3 entradas activas a L e a sa da activa a H.

7.3 A descri ca o da fun ca o OU-exclusivo em l ogica de polaridade traduz-se pela tabela de verdade gen erica da Tabela 7.12 para uma porta XOR com 2 entradas.

7.6. EXERC ICIOS

139

Tabela 7.12: Tabela de verdade gen erica para uma porta XOR com 2 entradas
A I I A A B I A I A AB I A A I

a) Desenhe o s mbolo IEC desta porta que tenha as entradas activas a L e a sa da activa a H. b) Repita a al nea anterior para o caso de a entrada A ser activa a L, B ser activa a H e a sa da ser activa a L. c) Mostre que as portas das al neas a) e b) s ao sicamente apenas uma, e ainda que s ao id enticas a um XOR com entradas activas a H e a sa da activa a H. () 7.4 Pretende-se implementar a fun ca o booleana simples OU T = IN 1 + IN 2 admitindo que: a) os n veis de actividade de IN 1, de IN 2 e de OU T s ao todos H; b) IN 1 e activa a L e IN 2 e OU T s ao activas a H; c) IN 1 e IN 2 s ao activas a L e OU T e activa a H; d) IN 1 e IN 2 s ao activas a H e OU T e activa a L. Estabelecer, para todos os casos, a tabela de verdade de OU T . () 7.5 Que fun ca o ou fun co es booleanas simples s ao geradas pelas portas l ogicas da Figura 7.30?
IN1 H IN2 H (a)
1

OUT1 H

IN1 L IN2 H

OUT2 H (b)

IN1 L IN2 H

OUT3 H (c)

IN1 H IN2 H

OUT4 H (d)

Figura 7.30: Logigramas do Exerc cio 7.5 () () 7.6 Dada a porta da Figura 7.31, determinar a express ao l ogica da fun ca o de sa da e construir a tabela de verdade f sica correspondente. 7.7 Obter, em l ogica HCT, os esquemas el ectricos correspondentes aos logigramas dos Exerc cios 7.4 e 7.6. Para simplicar os esquemas, n ao incluir os pinos dos circuitos integrados.

140
IN1 L IN2 L IN3 H

CAP ITULO 7. LOGICA DE POLARIDADE


1

OUT L

Figura 7.31: Logigrama da fun ca o do Exerc cio 7.6 () 7.8 Pretende-se estabelecer o logigrama e a tabela de verdade f sica de uma fun ca o booleana simples, ACT U AT E (IN 1, IN 2, SEL, DET ECT ), que deve vir activada quando forem satisfeitas uma ou outra mas n ao ambas as condi co es que se descrevem a seguir: 1. as entradas IN 1 ou IN 2 ou ambas est ao activadas; 2. as entradas SEL e DET ECT est ao activadas. Admitir: a) que IN 1, IN 2, SEL, DET ECT e ACT U AT E s ao todas activas a H; b) que IN 1 e IN 2 s ao activas a H, e que SEL, DET ECT e ACT U AT E s ao activas a L. 7.9 S ao fornecidas as entradas A L, B H, C L e D H. Usando integrados TTL, desenhe os esquemas el ectricos das seguintes fun co es, a) Z = (A + B + C ) (B + D); b) Z = (A + B + C ) (C D); c) Z = A + B + C + D, admitindo que Z L. () 7.10 Pretende-se implementar um circuito l ogico que acende uma luz sob comando dos terminais IN L e T OL L. A fun ca o que vai permitir acender a luz dever a ser activa a L e ser a comandada pelos seguintes sinais: (1) ligar a luz (T OL H); (2) inibir (IN L); (3) emerg encia (EM ERG L); e (4) a ocasi ao n ao e adequada (T N R H). A luz dever a acender-se desde que a ocasi ao seja adequada, o comando de luz n ao seja inibido pela vari avel IN , e seja dada uma ordem para ligar a luz. Se, contudo, se vericar uma emerg encia, a luz dever a acender-se, independentemente dos outros comandos. Desenhe um logigrama em l ogica de polaridade para o circuito, e estabele ca o correspondente esquema el ectrico em l ogica positiva. 7.11 Considere o circuito da Figura 7.32. Sabendo que as vari aveis IN T ERRU P T OR.ON e ACCAO1 est ao actia ao n vel H, vadas, e que a linha DESLIGAR L est a) em que n vel de tens ao est a a linha CON DICAO H? Porqu e? b) a fun ca o RESU LT ADO est a ou n ao activa? Porqu e?

7.6. EXERC ICIOS


INTERRUPTOR.ON L ACCAO1 H
& & 1 1

141

CONDICAO H

RESULTADO H

DESLIGAR L

Figura 7.32: Logigrama da fun c ao do Exerc cio 7.11 7.12 Projecte um circuito com 3 entradas onde s ao aplicadas as vari aveis booleanas simples ACCAO1, ACCAO2 e ACCAO3, e uma sa da onde vem gerada a fun ca o booleana simples RESU LT ADO. RESU LT ADO dever a estar activa quando ACCAO1 estiver activa e uma e s o uma das outras duas vari aveis estiver activa, ou quando apenas ACCAO3 estiver activa. ACCAO2 e activa a H, enquanto que as outras duas vari aveis e a fun ca o s ao activas a L. 7.13 S ao dados A L, B H, C L e D H. Utilizando os circuitos integrados existentes na l ogica HCT (positiva) desenhe os esquemas el ectricos das seguintes fun co es, estabelecendo o paralelo entre esses esquemas e os logigramas que obt em em l ogica de polaridade directamente das express oes das fun co es Z, (com Z H). a) Z = (A + D) (B + C ) ; b) Z = A B C + B D ; c) repita as al neas a) e b) para o caso de ser Z L. 7.14 Considere o circuito com o logigrama da Figura 7.33.
SENSOR.ACTIVO L ACCAO.INIBIDA H
1 &

ERRO.POTENCIAL L

X
&

ALERTA.ACTIVO L

ALARME L

POSTO.OCUPADO H

Figura 7.33: Logigrama da fun c ao do Exerc cio 7.14 Supondo que as vari aveis SEN SOR.ACT IV O e ACCAO.IN IBIDA est ao a no n vel L, indique, activas, e que a linha P OST O.OCU P ADO H est justicando: a) se a vari avel ERRO.P OT EN CIAL est a activa ou inactiva; b) em que n vel est a a linha ALARM E L; c) estabele ca uma designa ca o razo avel (com conte udo sem antico) para a linha marcada com um X . 7.15 Projecte o circuito combinat orio de controlo de um elevador entre dois pisos. O circuito possui as seguintes entradas: (1) ELEV.N O.P ISO.IN F ERIOR L;

142

CAP ITULO 7. LOGICA DE POLARIDADE (2) ELEV.N O.P ISO.SU P ERIOR L; (3) ELEV.A.SU BIR H; (4) ELEV.A.DESCER H; (5) P EDIDO.DE.SU BIDA L; (6) P EDIDO.DE.DESCIDA L; e (7) P ORT A.ABERT A H, e as seguintes sa das: (a) M ARCHA.ASCEN DEN T E H; (b) M ARCHA.DESCEN DEN T E H; (c) P ORT A.SU P.BLOQU EADA L; e (d) P ORT A.IN F.BLOQU EADA L.

dado o logigrama da Figura 7.34. 7.16 E


IN1 H IN2 L
&

IN3 L

OUT H

IN4 L

Figura 7.34: Logigrama utilizado no Exerc cio 7.16 Determine a express ao booleana da fun c ao OU T (IN 1, IN 2, IN 3, IN 4). () 7.17 Considere os logigramas da Figura 7.35, todos semelhantes. Estabele ca as tabelas de verdade f sicas para as tr es fun co es, e deduza directamente as suas express oes l ogicas a partir das tabelas. Em seguida, conrme as express oes analisando os logigramas correspondentes.

7.6. EXERC ICIOS

143

X H
& 1

Y L
1

a)
1 &

A L

Z L

X H
& 1

Y L
1

b)
1 &

B H

Z L

X H
& 1

Y L
1

c)
1 &

C L

Z L

Figura 7.35: Logigramas utilizados no Exerc cio 7.17

144

CAP ITULO 7. LOGICA DE POLARIDADE

Cap tulo 8

An alise e S ntese de Circuitos Combinat orios


8.1 Enquadramento

As mat erias anteriores s o t em interesse na medida em que permitem gerar recursos e metodologias para resolver problemas concretos reais de automatiza ca o, de c alculo, de monitoriza ca o ou outros em que os circuitos digitais possam ser utilizados. Os circuitos digitais s ao de dois tipos: combinat orios e sequenciais. Ambos possuem um conjunto de entradas por onde os dados s ao introduzidos no circuito, e um outro de saidas onde s ao reectidos os resultados do processamento realizado. Os circuitos combinat orios s ao aqueles que permitem prever os valores l ogicos (ou n veis de tens ao) das sa das num determinado instante em fun ca o da combina ca o de valores l ogicos (n veis) nas entradas do circuito no mesmo instante. S ao os que nos v ao ocupar de imediato. Os circuitos sequenciais s ao circuitos em que os valores (n veis) das sa das num determinado instante n ao depende apenas dos valores (n veis) das entradas nesse instante, mas tamb em da sequ encia desses valores (n veis) ao longo do tempo. Vamos analisar, para j a, os circuitos combinat orios. Este tipo de circuitos pode ser descrito por um modelo como o que se apresenta na Figura 8.1, em que existem n entradas, p sa das e um conjunto de p fun co es booleanas simples de, no limite, n vari aveis booleanas simples correspondentes a `s entradas. Do ponto de vista sico, o circuito e constitu do por um conjunto de portas e pelas suas interliga co es, que implementam as p fun c oes. 145
Circuito combinat orio

Circuito sequencial

146

CAP ITULO 8. ANALISE E S INTESE COMBINATORIA


1 2 3 n1 n 1 2 3 p1 p

n entradas

Circuito combinat orio

p sa das

Figura 8.1: Modelo de circuito combinat orio

8.2

An alise de Circuitos Combinat orios

Basicamente, a an alise de um circuito combinat orio e feita a partir do seu logigrama ou esquema el ectrico, e pode ser executada de duas formas: (i) ou se levantam as equa co ess das sa das do circuito; (ii) ou se escreve a tabela de verdade do circuito. Como e evidente, as duas formas n ao s ao conceptualmente diferentes, mas utilizam ferramentas diferentes. No caso de deriva ca o da equa ca o do circuito, o que h a a fazer e: criar nomes para todas as fun co es nas sa das de portas que dependem apenas das entradas, e determinar as suas express oes em fun ca o das vari aveis de entrada; repetir o processo para as portas que dependem das portas j a tratadas e das vari aveis de entradas; aplicar sucessivamente o passo anterior at e se terem determinado todas as fun c oes de sa da. Exemplique-se com o circuito da Figura 8.2.
A H
1

T3 H

B H C H
1

B H

&

T1 H
1

F1 H

A H

&

T2 H
=1

T4 H

D H
1

T5 H

F2 H

Figura 8.2: Logigrama de um circuito combinat orio onde se identicam as das das portas l ogicas que interessa analisar para a fun co es T1 a T5 nas sa obten ca o das equa co es de sa da do circuito

8.2. ANALISE DE CIRCUITOS COMBINATORIOS Ap os identica ca o das sa das dos dois ANDs obtemos: T1 = B C T2 = A B .

147

Seguidamente procede-se a ` identica ca o das sa das das portas do segundo n vel, obtendo-se: T3 = A + T 1 = A + B C T4 = T 2 D = ( A B ) D = A B D + A D + B D T5 = T 2 + D = A B + D . As fun co es de sa da s ao, portanto, F 1 = T 3 + T4 = A + B C + A B D + A D + B D = A+BC +BD+BD F 2 = T5 = A B + D Para se obter a tabela de verdade f sica do circuito, podemos utilizar o procedimento que foi usado na Subsec c ao 7.3.2, a prop osito da constru ca o da Tabela 7.8: procedendo linha a linha (o que pode tornar morosa a sua constru ca o), ou procedendo globalmente em rela ca o a ` tabela toda. Contudo, quando o logigrama e relativamente complexo, eu til construir a tabela de verdade f sica aos poucos, a partir das tabelas de fun co es interm edias (de maneira an aloga a ` que foi usada para determinar as express oes booleanas das fun co es nas sa das do logigrama anterior). Para exemplicar esta metodologia, consideremos o logigrama da Figura 8.3.
X H Y H Z H
&

T1 H

T2 H
1

&

T3 H

&

S H T6 H

C H

&

T4 H

C H

&

T5 H

Figura 8.3: Logigrama de outro circuito combinat orio onde se identicam as ogicas que interessa analisar para a obten c ao da sa das T1 a T6 das portas l tabela de verdade f sica do circuito

148

CAP ITULO 8. ANALISE E S INTESE COMBINATORIA

Tabela 8.1: Constru ca o da tabela de verdade f sica do circuito com o logigrama na Figura 8.3, com a constru ca o de tabelas para as fun co es interm edias
X H Y H Z H L L L L H H H H L L H H L L H H L H L H L H L H T3 H L L L L L L H H T4 H L L L L L H L H T5 H L L L H L L L H C H L L L H L H H H C H H H H L H L L L T1 H L L L L L L L H T2 H L H H H H H H H T6 H L H H L H L L L S H L H H L H L L H

A tabela de verdade f sica do circuito pode obter-se imediatamente (Tabela 8.1). aveis X , Y e Por exemplo, a fun ca o T1 vem activa (a H) apenas quando as vari Z estiverem activas (todas a H), o que apenas ocorre na u ltima linha da tabela. Ou, tomando ainda outro exemplo, para que a fun ca o nal C venha activa (a H) basta que uma das fun co es interm edias, T3 , T4 ou T5 esteja activa (a H). Por seu turno, ao activas (linhas 6 e 7); T3 vem activa quando X e Y est ao activas (linhas 5 e 7); e T4 vem activa quando X e Z est T5 vem activa quando Y e Z est ao activas (linhas 3 e 7), pelo que C ca activa nas linhas 3, 5, 6 e 7.

8.3

Projecto de Circuitos Combinat orios

Para realizar o projecto de um circuito combinat orio e poss vel atacar o problema na sua complexidade total, mas o mais comum e dividir o problema em problemas mais simples, concebendo o circuito como um conjunto de m odulos de menor complexidade, devidamente interligados. Seguidamente analisa-se cada um dos m odulos e, se ele j e e sucientemente simples para ser projectado com as ferramentas que temos, projecta-se. Se isso n ao acontece, continua a divis ao em m odulos mais simples. Um dos conceitos importantes e, portanto, o de hierarquia de projecto, partindo da descri ca o mais abstracta do circuito atrav es de um modelo semelhante ao do da Figura 8.1, para m odulos de menor complexidade, e assim por diante at e chegar a `s portas l ogicas. Exempliquemos com um circuito detector de paridade mpar com 9 entradas e 1 sa da, supostas todas activas a H, com o diagrama de blocos da Figura 8.4.

8.3. PROJECTO DE CIRCUITOS COMBINATORIOS


X0 X1 X2 X3 X4 X5 X6 X7 X8 H H H H H H H H H

149

Detector de paridade mpar com 9 entradas

Z0 H

Figura 8.4: Diagrama de blocos de um detector de paridade mpar com 9 entradas e 1 sa da, todas activas a H Este circuito recebe 9 bits nas entradas e produz um resultado igual a 1 se e s o se o n umero de bits a 1 nas entradas for mpar. A sua utilidade e a de detectar erros de transmiss ao de dados com 9 bits em paralelo, garantindo que os dados transmitidos possuem paridade par (a sa da vem activa se houver algum bit trocado). Podemos calcular a fun c ao Z 0 de 9 vari aveis e implementar o circuito correspondente, mas tal seria uma tarefa de enorme complexidade. Assim, e prefer vel dividir o problema em problemas menores, por exemplo em 3 detectores de paridade mpar, apenas com 3 entradas. Obt em-se, assim, o diagrama de blocos da Figura 8.5.
X0 H X1 H X2 H
A0 A1 A2

Detector de paridade mpar B 0 com 3 entradas

X3 H X4 H X5 H

A0 A1 A2

Detector de paridade mpar B 0 com 3 entradas

A0 A1 A2

Detector de paridade mpar B 0 com 3 entradas

Z0 H

X6 H X7 H X8 H

A0 A1 A2

Detector de paridade mpar B 0 com 3 entradas

Figura 8.5: Diagrama de blocos de um detector de paridade mpar com 9 entradas, constru do com 3 detectores de paridade mpar com 3 entradas cada um Seguidamente pensa-se na constitui ca o de cada um dos blocos (Figura 8.6).
A0 H A1 H A2 H
=1 =1

B0 H

Figura 8.6: Logigrama de um detector de paridade mpar com 3 entradas activas a H e sa da activa a H

150

CAP ITULO 8. ANALISE E S INTESE COMBINATORIA

Por m, podem usar-se portas XOR ou, em vez delas, portas de outro tipo. Por exemplo, o XOR pode ser implementado pelo circuito com NANDs (em l ogica positiva) da Figura 8.7.
X H
& & & &

(XY) H

Y H

Figura 8.7: Logigrama de implementa ca o de um XOR com 2 entradas, feito a ` custa de NANDs (em l ogica positiva) A hierarquia de projecto que foi ilustrada e feita com base num sistema que utiliza v arios m odulos iguais. Mas nem sempre e poss vel proceder desse modo. Por exemplo, se se pretender obter um circuito combinat orio que adiciona ou multiplica dois n umeros de 4 bits, podemos ter como primeira desagrega ca o do modelo inicial algo como se ilustra na Figura 8.8.
Operando 1 Operando 2

Somador

Multiplicador

Selec ca o da opera c ao

Selector

Resultado

Figura 8.8: Diagrama de blocos de um adicionador/multiplicador de dois n umeros de 4 bits As vantagens de utiliza ca o deste tipo de procedimento com hierarquiza ca o s ao:

melhor concep ca o estrutural e visualiza ca o da estrutura do circuito; em cada n vel, h a abstrac ca o em rela ca o aos pormenores dos n veis inferiores; replica ca o de m odulos com reutiliza ca o.

8.4. S INTESE DE CIRCUITOS COMBINATORIOS

151

Idealmente, o projecto deveria ser feito segundo uma aproxima ca o top-down. No entanto, muitas vezes h a condicionalismos em rela ca o aos m odulos que podemos usar em n veis inferiores, o que leva a que muitas vezes se combine ou at e se substitua a estrat egia top-down por uma estrat egia bottom-up.

Projecto top-down Projecto bottom-up

8.4

S ntese de Circuitos Combinat orios

Admitindo que as regras de projecto j a apresentadas foram utilizadas, os circuitos combinat orios que se apresentam s ao, naturalmente, de pequena dimens ao. Nessas circunstancias o que h a a fazer e: denir o n umero de entradas e sa das e atribuir-lhes nomes; obter a tabela de verdade para cada sa da ou, em alternativa, obter as suas express oes l ogicas; obter as express oes l ogicas simplicadas das fun co es de sa da; desenhar o logigrama do circuito, fazendo eventualmente adapta c oes para minimizar o n umero de circuitos integrados a utilizar; vericar a correc ca o do projecto; e desenhar o esquema el ectrico do circuito. O primeiro ponto deve ser evidente nesta fase do projecto. Ao obter a tabela de verdade de uma fun ca o e frequente descobrir que aquilo que era evidente n ao est a completamente esclarecido e necessita de mais profunda an alise sobre o comportamento pretendido do circuito em circunst ancias marginais. A simplica ca o pode ser feita de qualquer forma, desde a simplica ca o alg ebrica a ` simplica ca o utilizando pacotes de software adequados, passando pela minimiza ca o usando quadros de Karnaugh. O desenho do logigrama e do esquema el ectrico pode ser feito usando um software adequado (schematic capture) ou, simplesmente, a ` m ao. Conv em usar a experi encia acumulada para minimizar o n umero de integrados a utilizar. A verica ca o de correc ca o pode ser feita manualmente ou utilizando pacotes de software destinados a ` simula ca o de circuitos. De qualquer forma, e sempre necess ario vericar no m, com um circuito real, se tudo funciona como previsto. H a pormenores que escapam a algum do software de simula ca o comumente utilizado. Como exemplo, consideremos o projecto de um circuito de convers ao entre um d gito BCD e o d gito correspondente no c odigo Excesso de 3 (ou c odigo D+3). O c odigo Excesso-3 n ao e j a muito utilizado mas, no passado, facilitou a realiza ca o de certos circuitos aritm eticos. Trata-se de um c odigo decimal-bin ario e, como tal, possui 10 palavras, numeradas de 0 a 9. A sua constru ca o resulta da do c odigo BCD adicionando 3 unidades a cada palavra hom ologa desse c odigo (da a designa ca o Excesso-3). Vejamos na Tabela 8.2 o c odigo D + 3.
C odigo Excesso de 3 (D + 3)

152

CAP ITULO 8. ANALISE E S INTESE COMBINATORIA

Tabela 8.2: C odigo Excesso-3 (ou D + 3)


D gito 0 1 2 3 4 5 6 7 8 9 C odigo 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

Para implementar este circuito precisamos de uma l ogica com 4 entradas (por onde se apresentam as palavras do c odigo BCD) e 4 sa das (onde s ao devolvidas as palavras no c odigo Excesso-3). As entradas ser ao designadas, por exemplo, por A, B, C e D, sendo A a mais signicativa, e as sa das por W, X, Y e Z , sendo W a mais signicativa (diagrama de blocos na Figura 8.9).

A B C D

H H H H

Conversor BCD D+3

W X Y Z

H H H H

Figura 8.9: Diagrama de blocos de um conversor do c odigo BCD para o c odigo D+3 A convers ao entre os dois c odigos ser a, ent ao, a que se ilustra na tabela de verdade l ogica da Tabela 8.3. Para obter agora as fun co es de sa da, usaremos quadros de Karnaugh, tendo em considera ca o que as posi co es dos mapas que n ao correspondem a d gitos BCD s ao indiferen cas (Figura 8.10). Dos quadros de Karnaugh e poss vel ler: W = A+BC +BD X = BC+BD+BCD Y = CD+CD Z=D A an alise destas fun co es mostra que e poss vel construir o circuito na tecnologia Low Power Schottky TTL usando:

8.4. S INTESE DE CIRCUITOS COMBINATORIOS

153

Tabela 8.3: Tabela de verdade l ogica do conversor do c odigo BCD para o c odigo Excesso-3
D gito 0 1 2 3 4 5 6 7 8 9 C odigo BCD B C D 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 C odigo D+3 W X Y Z 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0

A 0 0 0 0 0 0 0 0 1 1

CD AB
0

CD 00
1

01
3

11
2

10

AB
0

00
1

01
3

11
2

10 1
6

00
4 5 7 6

00
4 5

1
7

01
12 13

1
15

1
14

1
10

01
12

1
13 15 14

11
8

11

11
8

11

10

10

10

1 X

CD AB
0

CD 00
1

01
3

11
2

10

AB
0

00
1

01
3

11
2

10 1

00
4

1
5 7

1
6

00
4

1
5 7 6

01
12

1
13 15

1
14

01
12

1
13 15 14

1
9 11

11
8

11

10

11
8

10

10

1 Y

10

Figura 8.10: Minimiza ca o das fun co es de sa da do conversor BCD D + 3 3 NOTs 6 ANDs de 2 entradas 1 AND de 3 entradas 2 ORs de 3 entradas 1 OR de 2 entradas 1 IC de nega co es (74LS04) usado a 50% 2 ICs de ANDs de 2 entradas (74LS08), com o segundo IC usado a 50% 1 IC de ANDs de 3 entradas (74LS11) usado a 33% que n ao existem e teriam de ser implementados por ORs de 2 entradas 2 ICs em conjunto com os anteriores (74LS32), com o segundo usado a 25%.

154

CAP ITULO 8. ANALISE E S INTESE COMBINATORIA

Manipulando um pouco a express ao, e a ` custa de construir um circuito mais lento (e de alguma experi encia), e poss vel obter o seguinte circuito, que utiliza apenas 1 IC de ANDs de 2 entradas (74LS08) a 25%, 1 IC de ORs de 2 entradas (74LS32) a 50%, e 1 IC de XORs (74LS86) a 75%, como se mostra no esquema el ectrico simplicado da Figura 8.11 (sem a indica ca o dos pinos dos integrados).
A H B H U1-1 1/4 74LS32 C H D H U3-2 1/4 74LS86
=1 1

U2-1 1/4 74LS08


&

U1-2 1/4 74LS32


1

W H

X H

U3-1 1/4 74LS86


=1

U3-3 1/4 74LS86


=1

D H

Y H Z H

Figura 8.11: Esquema el ectrico do conversor BCD D + 3 Para se obter este esquema el ectrico repare-se que: 1. combin amos as express oes de W e de X para aproveitar um OR em comum e usar um XOR: W = A + B (C + D ) X = B (C + D ) + B C D = B (C + D ) ; 2. construimos a fun ca o Y com outro XOR (us amos D , uma vez que j a era necess ario para formar Z ): Y = CD+CD =C D = C D = C D; 3. us amos um XOR para fazer a nega ca o: Z = D = D 1.

8.5

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 3.1 a 3.4.

8.6. EXERC ICIOS

155

8.6

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. 8.1 Porque e que o detector de paridade mpar com 9 entradas da Figura 8.4 pode ser dividido em 3 detectores de paridade mpar com 3 entradas, como mostra o diagrama de blocos da Figura 8.5? 8.2 Justique que o circuito da Figura 8.7 implementa de facto um XOR com 2 entradas. 8.3 Dado um n umero com 8 bits, N U M 7 H a N U M 0 H, desenhar o diagrama de blocos de um circuito combinat orio que gera o seu complemento para 2. 8.4 Desenhar o logigrama de um circuito combinat orio com tr es entradas, X 2 H a X 0 H, e tr es sa das, Y 2 H a Y 0 H (que representam n umeros decimais entre 0 e 7), por forma a que o circuito calcule o valor de Y = =(3X) mod 8.

156

CAP ITULO 8. ANALISE E S INTESE COMBINATORIA

Cap tulo 9

Codicadores e Descodicadores
No projecto de circuitos digitais, como vimos, e habitual dividir os projectos, organizando-os hierarquicamente e realizando-os a partir de m odulos de complexidade inferior ao problema que se quer resolver. Neste cap tulo e nos seguintes estudaremos alguns m odulos t picos que s ao re-utilizados com frequ encia no projecto de sistemas digitais e que correspondem tamb em a circuitos integrados existentes no mercado.

9.1

Descodicadores
Deni c ao de descodicador

Um descodicador e um circuito que permite obter, a partir de um conjunto de bits que constituem uma palavra de um determinado c odigo, a identica ca o dessa palavra. Para isso, o descodicador tem tantas sa das quanto o n umero de palavras de c odigo, e activa, em cada momento, a sa da correspondente a ` palavra de c odigo presente nas entradas. Por exemplo um descodicador bin ario de n bits possuiu n entradas onde s ao aplicadas palavras do CBN (C odigo Bin ario Natural) de comprimento n, desde das, numeradas de 0 a 00 . . . 0 at e 11 . . . 1. Este descodicador tem ainda 2n sa n 2 1, sendo que uma e apenas uma pode vir activa de cada vez. Em termos de funcionamento, um descodicador bin ario de 3 bits pode ser descrito pela tabela de verdade l ogica da Tabela 9.1, em que Si e a sa da correspondente a ` palavra i do c odigo. O s mbolo deste circuito, de acordo com a norma IEC 60617-12, e o que se representa na Figura 9.1(a), admitindo que todas as entradas e todas as sa das s ao activas a H. Na Figura 9.1(b) representa-se o mesmo descodicador e ainda 3 vari aveis booleanas simples aplicadas a `s entradas e 8 fun co es booleanas simples geradas nas sa das, com designa co es arbitr arias e sem conte udo sem antico signicativo. De notar o qualicador geral BIN/1-OF-8 atribu do ao s mbolo (em alternativa pod amos usar o qualicador geral BIN/OCT), signicando que aplicamos a `s 157

Descodicador bin ario

Qualicador geral BIN/1-OF-8 ou BIN/OCT

158

CAP ITULO 9. CODIFICADORES E DESCODIFICADORES

Tabela 9.1: Tabela de verdade l ogica de um descodicador bin ario de 3 bits


Palavra 000 001 010 011 100 101 110 111 S0 1 0 0 0 0 0 0 0 S1 0 1 0 0 0 0 0 0 S2 0 0 1 0 0 0 0 0 S3 0 0 0 1 0 0 0 0 S4 0 0 0 0 1 0 0 0 S5 0 0 0 0 0 1 0 0 S6 0 0 0 0 0 0 1 0 S7 0 0 0 0 0 0 0 1

BIN/1-OF-8 0 1 2 3 4 5 6 7 (a)

BIN/1-OF-8 0 1 2 3 4 5 6 7 (b) OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 H H H H H H H H

1 2 4

INC H INB H INA H

1 2 4

Figura 9.1: (a) S mbolo de um descodicador bin ario de 3 bits com todas as entradas e sa das activas a H, de acordo com a norma IEC 60617-12; (b) o mesmo descodicador com 3 vari aveis booleanas simples aplicadas a `s entradas (com designa co es arbitr arias, sem conte udo sem antico), e poss veis designa co es para as fun co es booleanas simples de sa da que s ao geradas pelo circuito entradas palavras do CBN e que obtemos nas sa das palavras de um c odigo especial, da fam lia dos c odigos 1emn (no caso, do c odigo 1em8), em que em cada palavra com 8 bits apenas existe um 1 (no caso do descodicador, apenas uma sa da est a activa de cada vez).
Pesos das entradas

De notar ainda os pesos relativos das entradas do s mbolo da Figura 9.1: a entrada 4 tem peso 4; a entrada 2 tem peso 2; e a entrada 1 tem peso 1,

Sa da activa

e o modo como uma e apenas uma sa da vem activa de cada vez: a fun ca o OU T 0 deve vir activa, a H, se e s o se a palavra do c odigo de entrada for (IN A, IN B, IN C )=(L,L,L), ou 0 em decimal;

9.1. DESCODIFICADORES

159

a fun ca o OU T 1 deve vir activa, a H, se e s o se a palavra do c odigo de entrada for (IN A, IN B, IN C )=(L,L,H), ou 1 em decimal; a fun ca o OU T 2 deve vir activa, a H, se e s o se a palavra do c odigo de entrada for (IN A, IN B, IN C )=(L,H,L), ou 2 em decimal; etc, a fun ca o OU T 7 deve vir activa, a H, se e s o se a palavra do c odigo de entrada for (IN A, IN B, IN C )=(H,H,H), ou 7 em decimal. Ou seja, para determinar a sa da que est a activa em cada instante, somamos os pesos das entradas que est ao activas nesse instante. Por exemplo, a sa da OU T 3 vem activa quando (IN A, IN B, IN C )=(L,H,H) porque a entrada IN B est a activa e possui peso 2 e a entrada IN C tamb em est a activa e possui peso 1 (a soma dos pesos e igual a 3). Podemos, ent ao, deduzir a tabela de verdade f sica para este descodicador, como se ilustra na Tabela 9.2. De notar como uma e s o uma sa da vem activa de cada vez, como pretendemos. Tabela 9.2: Tabela de verdade f sica do descodicador bin ario da Figura 9.1
IN B H L L H H L L H H OUT 4 H 3 H L L L L H L L L L L L H L L L L

A H L L L L H H H H

C H L H L H L H L H

7 H L L L L L L L H

6 H L L L L L L H L

5 H L L L L L H L L

2 H L L H L L L L L

1 H L H L L L L L L

0 H H L L L L L L L

Da tabela de verdade f sica do circuito e f acil obter a sua estrutura interna (Figura 9.2). De notar que o s mbolo utilizado na parte direita da gura e um s mbolo composto. Para al em deste tipo de descodicadores (bin arios de n bits), existem ainda descodicadores espec cos para certos c odigos, como por exemplo o c odigo BCD. Esse tipo, em particular, tem 4 entradas e 10 sa das, como mostra o s mbolo IEC da Figura 9.3, e designa-se por descodicador BCD. De notar o qualicador geral BCD/DEC atribu do ao s mbolo (em alternativa pod amos usar o qualicador geral BCD/1-OF-10), signicando que aplicamos a `s entradas palavras do c odigo BCD e que obtemos nas sa das palavras do c odigo 1em10, em que em cada palavra com 10 bits apenas existe um 1 (no caso do descodicador, apenas uma sa da est a activa de cada vez). E muito frequente que os descodicadores tenham as suas sa das activas a L. Nessas circunst ancias, as portas de sa da s ao NANDs em vez de ANDs (em l ogica positiva), e a sa da activa passa a ser a que est a, de cada vez, a L. O s mbolo IEC de um descodicador bin ario de 3 bits, semelhante ao da Figura 9.1 mas com sa das activas a L, ser a o que se representa na Figura 9.4.

S mbolo composto

Descodicador BCD

Qualicador geral BCD/1-OF-10 ou BCD/DEC

160

CAP ITULO 9. CODIFICADORES E DESCODIFICADORES


1

4 H
1

2 H
1

&

0 H 1 H 2 H 3 H 4 H 5 H 6 H 7 H

1 H

Figura 9.2: Estrutura interna do descodicador bin ario da Figura 9.1


BCD/DEC 0 1 2 3 4 5 6 7 8 9

1 2 4 8

Figura 9.3: S mbolo de um descodicador BCD com entradas e sa das activas a H, de acordo com a norma IEC 60617-12

9.1.1

Expans ao de descodicadores

Muitas vezes os descodicadores que existem no mercado n ao t em o n umero de entradas (e de sa das) que s ao necess arias para descodicar um determinado por isso, necess c odigo. E, ario expandi-los.
Entrada de Enable Depend encia de Enable (EN)

Para isso, muitos t em uma entrada de Enable, geralmente designada por EN, que congura uma depend encia de Enable (EN). Esta entrada, quando activada, permite que o descodicador funcione normalmente. Quer isso dizer que, nessas condi co es, existe sempre uma, mas apenas uma, sa da seleccionada. Se, pelo contr ario, EN estiver desactivada, as sa das v em desactivadas em bloco. Assim, se as sa das forem activas a H, elas vir ao todas a L. E se forem activas a L, elas vir ao todas a H. No caso de as sa das serem do tipo tri-state, a

9.1. DESCODIFICADORES
BIN/1-OF-8 0 1 2 3 4 5 6 7

161

1 2 4

Figura 9.4: S mbolo de um descodicador bin ario de 3 bits, com entradas activas a H e sa das activas a L, de acordo com a norma IEC 60617-12 desactiva ca o de EN signica que todas as sa das cam em alta imped ancia.
BIN/1-OF-8 0 1 2 3 4 5 6 7 OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 L L L L L L L L

EN L

EN

INC H INB H INA H

1 2 4

Figura 9.5: S mbolo IEC de um descodicador bin ario de 3 bits com entradas de dados activas a H e entrada de Enable activa a L, e com sa das tri-state activas a L. Ao s mbolo adicionaram-se designa co es com conte udo sem antico para as entradas e sa das Na Figura 9.5 apresenta-se o s mbolo IEC de um descodicador bin ario de 3 bits com Enable e sa das tri-state activas a L, e na Tabela 9.3 mostra-se a correspondente tabela de verdade f sica. Usando descodicadores com Enable podemos construir descodicadores de n entradas com descodicadores menores. Exemplica-se na Figura 9.6 com um descodicador bin ario de 4 bits que utiliza descodicadores bin arios de 2 bits. Naturalmente, os n veis de actividade nas entradas e nas sa das dos descodicadores de 2 bits foram escolhidos arbitrariamente. Contudo, as entradas de Enable devem ter o mesmo n vel de actividade das sa das, caso contr ario ter amos de colocar portas NOT entre as sa das do descodicador da esquerda e as entradas de Enable dos descodicadores da direita.

9.1.2

Utiliza c ao de descodicadores na implementa c ao de fun c oes l ogicas


Gerador de mintermos

Repare-se que um descodicador implementa todos os mintermos das vari aveis de entrada. Assim sendo, deve ser poss vel usar o descodicador para implemen-

162

CAP ITULO 9. CODIFICADORES E DESCODIFICADORES

Tabela 9.3: Tabela de verdade f sica do descodicador bin ario da Figura 9.5
IN B H L L H H L L H H OUT 4 L 3 L Hi-Z H H H H L H H H Hi-Z H H H L H H H H

A H L L L L H H H H

C H L H L H L H L H

EN L H L L L L L L L L

7 L Hi-Z H H H H H H H L

6 L Hi-Z H H H H H H L H

5 L Hi-Z H H H H H L H H

2 L Hi-Z H H L H H H H H

1 L Hi-Z H L H H H H H H

0 L Hi-Z L H H H H H H H

BIN/1-OF-4 ENABLE L 4 H 8 H EN 1 2 0 1 2 3

BIN/1-OF-4 EN 1 2 0 1 2 3 0 1 2 3 L L L L

BIN/1-OF-4 EN 1 2 0 1 2 3 4 5 6 7 L L L L

BIN/1-OF-4 EN 1 2 0 1 2 3 8 L 9 L 10 L 11 L

BIN/1-OF-4 EN 1 H 2 H 1 2 0 1 2 3 12 13 14 15 L L L L

Figura 9.6: Logigrama com a estrutura de um descodicador bin ario de 4 bits com Enable, constru do com descodicadores bin arios de 2 bits tar fun co es na forma de uma soma de mintermos (ou seja, em primeira forma can onica), com auxilio de portas OR, como eo bvio.

9.2. CODIFICADORES

163

Na Figura 9.7 ilustra-se o logigrama de um circuito usando esse princ pio, que implementa a fun ca o l ogica F (a, b, c) = m(0, 2, 3, 5).
BIN/1-OF-8 m0 H 0 1 m2 H 2 m3 H 3 4 m5 H 5 6 7

c H b H a H

1 2 4

1 F H

Figura 9.7: Implementa ca o da fun ca o booleana simples F (a, b, c) = = m(0, 2, 3, 5) que utiliza um descodicador bin ario de 3 bits e uma porta OR com entradas e sa da activas a H De salientar a gera ca o dos mintermos m0 a m7 da fun ca o F (a, b, c) nas sa das do descodicador, todos activos a H. Como se pretende construir o logigrama da primeira forma can onica da fun ca o, isto e, uma soma de mintermos, vamos necessitar de uma porta OR com entradas activas a H. No caso em que se pretende obter F H (como escolhemos fazer, mas pod amos ter tomado a op c ao da da porta tamb em deve ser activa a H. de obter F L), a sa

9.2

Codicadores
Codicador

Um circuito com funcionamento algo inverso e o codicador, com tantas entradas quantas as palavras do c odigo 1-em-n e com tantas sa das quanto o n umero de bits da palavra do c odigo de sa da. Ou seja, um codicador e um circuito que converte palavras do c odigo 1-em-n na entrada para palavras de um c odigo arbitr ario na sa da. O problema maior com o codicador que acab amos de denir est a na descri c ao do seu comportamento quando mais que uma entrada est a activa , ou seja, quando deixamos de ter a ` entrada palavras do c odigo 1-em-n. De facto, nessas circunstancias n ao e o bvio o que fazer, uma vez que na sa da s o pode estar presente uma das palavras do c odigo. A solu ca o cl assica consiste em atribuir prioridades a `s entradas e codicar a entrada mais priorit aria. Obt em-se, ent ao, um circuito que se designa habitualmente por codicador de prioridades, embora uma designa ca o mais correcta seja a de transcodicador. Assim, para um codicador de prioridades com sa das no c odigo BCD, em que se opta por dar a `s entradas com maior peso a maior prioridade, teremos a tabela de verdade f sica da Tabela 9.4 admitindo que as entradas e as sa das s ao todas activas a H. Repare-se que e tamb em necess ario ter uma sa da que indique se h a alguma entrada a 1, para poder distinguir a situa ca o em que n ao est a nenhuma entrada a 1 da situa ca o em que a entrada menos priorit aria, I 0, est a a 1.

Codicador de prioridades Transcodicador

164

CAP ITULO 9. CODIFICADORES E DESCODIFICADORES

Tabela 9.4: Tabela de verdade f sica de um codicador de prioridades com sa das no c odigo BCD, em que a entrada I 9 e a mais priorit aria
I0 H I1 H I2 H I3 H I4 H I5 H I6 H I7 H I8 H I9 H L H L L H L L L H L L L L H L L L L L H L L L L L L H L L L L L L L H L L L L L L L L H L L L L L L L L L H L L L L L L L L L L H BCD LLLL LLLH LLHL LLHH LHLL LHLH LHHL LHHH HLLL HLLH Val H L H H H H H H H H H H

9.3

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 3.5 a 3.8, 3.10 e 3.12.

9.4

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. () 9.1 Na parte (a) da Figura 9.8 apresenta-se um descodicador bin ario de 3 bits com entradas activas a H, enquanto que na parte (b) se apresenta um outro descodicador, em tudo id entico ao anterior excepto pelas entradas, que s ao agora activa a L. Se a estes descodicadores se aplicar a `s entradas a quantidade booleana geral (IN A, IN B, IN C ) = (H,L,L), qual e a sa da que vem activa nos dois casos? Porqu e? 9.2 Estabelecer o s mbolo IEC, a tabela de verdade f sica e o logigrama interno de um descodicador bin ario de 4 bits com entradas activas a L e sa das activas a H. Qual o fan-in de cada uma das entradas? Como faria para melhorar a situa ca o? () 9.3 Escrever a tabela de verdade f sica do descodicador BCD da Figura 9.3. 9.4 Como ser a o s mbolo IEC de um descodicador BCD com sa das activas a L? E com entradas activas a L? 9.5 Construa um logigrama com a estrutura interna de um descodicador BCD com sa das activas a L.

9.4. EXERC ICIOS


BIN/1-OF-8 0 1 2 3 4 5 6 7 (a) BIN/1-OF-8 0 1 2 3 4 5 6 7 (b)

165

INC H INB H INA H

1 2 4

INC H INB H INA H

1 2 4

Figura 9.8: (a) S mbolo IEC de um descodicador bin ario de 3 bits com entradas activas a H; e (b) s mbolo de um descodicador id entico, mas com entradas activas a L () 9.6 Como ser a o s mbolo IEC do descodicador expandido da Figura 9.6? 9.7 Construa um descodicador bin ario de 4 bits com Enable, a ` custa de descodicadores bin arios de 3 bits. 9.8 Construa um descodicador bin ario de 5 bits com Enable, a ` custa de descodicadores bin arios de 4 bits. Como ser a o s mbolo IEC deste descodicador? 9.9 Construa um descodicador bin ario de 5 bits com Enable, a ` custa de descodicadores bin arios de 3 bits. 9.10 Utilizando descodicadores BCD e o m nimo de l ogica adicional, projecte um descodicador bin ario com 4 bits. 9.11 Utilizando descodicadores BCD e o m nimo de l ogica adicional, projecte um descodicador bin ario com 6 bits. () 9.12 Diga como poder a utilizar 9 descodicadores do tipo 74x138 para implementar um descodicador com 6 linhas de entrada e 64 linhas de sa da. O descodicador 74x138 tem o s mbolo IEC que se ilustra na Figura 9.9.
74x138 BIN/OCT 0 1 1 2 2 3 4 4 & 5 EN 6 7

74x138

Figura 9.9: S mbolo IEC de um descodicador 74x138

166

CAP ITULO 9. CODIFICADORES E DESCODIFICADORES

9.13 Tendo-se, na Figura 9.7, ligado a vari avel A a ` entrada 4, a vari avel B ` a entrada 2 e a vari avel C a ` entrada 1, o que e que se pode armar em rela ca o aos pesos das vari aveis? 9.14 Se na Figura 9.7 zessemos as liga co es das entradas de forma diferente, por exemplo ligando A a 1, B a 2 e C a 4, mas mantendo os pesos das vari aveis, qual seria a fun ca o implementada nesse caso? () 9.15 Implementar a fun ca o booleana simples F (a, b, c) = m(1 3, 7) utilizando um descodicador bin ario de 3 bits com sa das activas a H, como o da Figura 9.1. Que fun co es e correspondentes n veis de actividade se obt em nas sa das do descodicador? () 9.16 Implementar a fun ca o booleana simples F (a, b, c) = m(1 3, 7) do exerc cio anterior, mas utilizando agora um descodicador bin ario de 3 bits com sa das activas a L, como o 74x138 da Figura 9.9. Que fun co es e correspondentes n veis de actividade se obt em nas sa das do descodicador? () 9.17 Implementar a fun ca o booleana simples F (a, b, c) = M (0, 4 6) utilizando um descodicador bin ario de 3 bits com sa das activas a H, como o da Figura 9.1 (de notar que esta fun ca o e a mesma dos Exerc cios 9.15 e 9.16). Que fun co es e correspondentes n veis de actividade se obt em nas sa das do descodicador? () 9.18 Implementar a fun ca o booleana simples F (a, b, c) = M (0, 4 6) utilizando um descodicador bin ario de 3 bits com sa das activas a L, como o 74x138 da Figura 9.9 (de notar que esta fun ca o e a mesma dos Exerc cios 9.15 e 9.16). Que fun co es e correspondentes n veis de actividade se obt em nas sa das do descodicador? 9.19 Repetir os Exerc cios 9.15 a 9.18 na implementa ca o da fun ca o booleana simples F (a, b, c).
74x42

9.20 Dado o descodicador 74x42 da Figura 9.10, diga como faria para gerar, a ` custa dele e, eventualmente, de portas l ogicas suplementares, a fun ca o poss f (A, B, C, D) = m(1, 2, 4, 8). E vel, com este descodicador e l ogica suplementar, gerar qualquer fun ca o de 4 vari aveis? Porqu e? 9.21 Usando um descodicador e a l ogica suplementar que achar convenientes, construa a fun ca o f = A B + B C . 9.22 Considere o circuito da Figura 9.11. Qual e a express ao l ogica da fun ca o que ele implementa? dado o logigrama da Figura 9.12. Utilizando um descodicador a 9.23 E ` sua escolha, implemente a fun ca o realizada pelo circuito dado. 9.24 Desenhe um logigrama com a estrutura interna do codicador BCD da Tabela 9.4.

() 9.25 Tra car o logigrama de um codicador de prioridades com 4 entradas, I0 a I3, e duas sa das, A1 e A0. A entrada I3 dever a ter prioridade sobre I2 que, por sua vez, dever a ter prioridade sobre I1, e esta sobre I0. Prever ainda a exist encia de uma entrada de Enable e de duas outras sa das,

9.4. EXERC ICIOS


74x42 BCD/DEC 0 1 2 3 4 5 6 7 8 9

167

1 2 4 8

Figura 9.10: S mbolo IEC de um descodicador 74x42


BIN/OCT 0 1 1 2 2 3 4 4 & 5 EN 6 7

X H Y H Z H H L L

&

F H

Figura 9.11: Logigrama de um circuito que implementa uma fun ca o booleana simples cuja express ao se pretende determinar
C L
&
1

A H B H

=1

F H
=1

C H A L

&

Figura 9.12: Logigrama utilizado no Exerc cio 9.23 uma de Enable e outra de Grupo, em que esta u ltima indica se, estando o codicador activo, h a pelo menos uma entrada activa. Todas as entradas dever ao ser activas a H. 9.26 Desenhe um transcodicador que aceita nas suas entradas um d gito BCD e fornece nas suas sa das o c odigo requerido para acender um display de 7 segmentos representativo do d gito na entrada. 9.27 Implemente um transcodicador do CBR (c odigo bin ario reectido) para o c odigo de 7 segmentos, utilizando um transcodicador do c odigo BCD para o c odigo de 7 segmentos.

168

CAP ITULO 9. CODIFICADORES E DESCODIFICADORES

9.28 Repetir o Exerc cio 8.4, mas usando agora um codicador e um descodicador bin arios. () 9.29 Implementar as fun co es booleanas simples a) f (A, B, C, D) = b) g(A, B, C, D, E ) = m(0, 3, 5, 10, 11); M (0, 5, 7, 14, 30, 31)

usando apenas um descodicador do tipo 74x138 e a l ogica suplementar m nima que considerar necess aria. Admitir que, nas duas fun co es, A ea vari avel booleana simples com maior peso.

Cap tulo 10

Multiplexers e Demultiplexers
10.1 Multiplexers

O multiplexer e um circuito combinat orio muito comum em sistemas digitais. A sua funcionalidade b asica e a de um circuito que realiza a fun c ao de selecc c ao de uma entrada, sugerida pela analogia mec anica da Figura 10.1. Naturalmente, o n umero de entradas pode ser diferente de quatro mas, para o efeito da fun ca o de selec ca o que pretendemos, admitiremos que ele e sempre uma pot encia de 2.
x0 x1 x2 x3 y Selec ca o de uma entrada Analogia mec anica de um multiplexer

SEL EN ABLE

Figura 10.1: Analogia entre um comutador mec anico e a fun c ao de selec ca o de uma entrada realizada por um multiplexer Um multiplexer tem, portanto, 2n entradas de dados das quais selecciona uma, e entradas de controlo ou de selec c ao que permitem escolher a entrada de dados que, em cada momento, v e encaminhado o n vel de tens ao nela aplicado para a sa da de dados do multiplexer. Um multiplexer de 4 entradas de dados e com entradas e sa da activas a H, por exemplo, tem o s mbolo IEC da Figura 10.2(a). Na Figura 10.2(b), as entradas Di s ao de dados, e as entradas Si s ao de selec c ao. O n umero bin ario colocado no par (S 1, S 0), sendo S 1 a vari avel booleana simples 169
Entradas de dados Entradas de selec ca o ou de controlo Sa da de dados

170

CAP ITULO 10. MULTIPLEXERS E DEMULTIPLEXERS


MUX 0 0 G3 1 0 1 2 3 (a) S0 H S1 H D0 D1 D2 D3 H H H H MUX 0 G0 3 1 0 1 2 3 (b) OUT H

Figura 10.2: (a) S mbolo de um multiplexer com 4 entradas de dados, com entradas e sa da activas a H, de acordo com a norma IEC 60617-12; (b) o mesmo multiplexer, ao qual se juntaram vari aveis de selec c ao S 0 e S 1, de dados D0 a D3, e uma fun ca o de sa da OU T com maior peso (porque est a aplicada a ` entrada de selec ca o de maior peso), determina a entrada de dados cujo valor e colocado na sa da.
Depend encia And (G)

e uma abreviatura para as depend encias And G0, G1, G2, G3, O s mbolo G 3 aplicadas a `s entradas 0, 1, 2 e 3, respectivamente. As entradas de selec ca o, 0 e 1, indicam os pesos das pot encias de 2 que ponderam as palavras do CBN aplicadas a s entradas SEL0 e SEL1. Por exemplo, se SEL0 e SEL1 estiverem ambas activadas, os pesos somam 20 + 21 = 3 e G3 vem activada, o que faz com que a entrada 3 venha seleccionada. Nessas condi co es, a quantidade booleana simples aplicada a essa entrada de dados vem reproduzida na sa da. A descri ca o funcional deste multiplexer ser a a da Tabela 10.1, e a tabela de verdade f sica correspondente vem descrita pela Tabela 10.2, admitindo-se que todas as entradas e a sa da s ao activas a H.. Tabela 10.1: Descri ca o funcional do multiplexer da Figura 10.2(b)
S1 H L L H H S0 H L H L H OUT H D0 H D1 H D2 H D3 H

A estrutura interna deste multiplexer vem ilustrada na Figura 10.3, mais uma vez admitindo-se que todas as entradas e a sa da s ao activas a H. f E acil de explicar o funcionamento do multiplexer a partir da sua estrutura interna. De facto, cada uma das quatro possiveis congura co es das vari aveis S 0 e S 1 fazem que as sa das de tr es dos ANDs estejam forcosamente a L e que a sa da do quarto AND tenha um n vel de tens ao igual ao da respectiva entrada Di. A sa da OU T ter a, portanto, o n vel L + L + L + Di = Di. Por exemplo, se S 0 e S 1 estiverem ambas inactivas as duas entradas inferiores

10.1. MULTIPLEXERS

171

Tabela 10.2: Tabela de verdade f sica do multiplexer da Figura 10.2(b)


D3 H L H D2 H L H D1 H L H D0 H L H S1 H L L L L H H H H S0 H L L H H L L H H OUT H L H L H L H L H

SEL1 H

SEL0 H

IN0 H IN1 H

&

OUT H IN2 H IN3 H

Figura 10.3: Logigrama com a estrutura interna do multiplexer da Figura 10.2(b), com entradas e sa da activas a H, de acordo com a norma IEC 60617-12 da porta AND de cima est ao activas e, nessas circunst ancias, a sa da desse AND vem igual a D0. Os outros ANDs t em as sa das inactivas (a L) uma vez que est a inactiva pelo menos uma das 2 entradas inferiores de cada uma das portas. A sa da OU T e, ent ao, igual a D0. Da mesma forma, as outras congura co es poss veis de S 0 e de S 1 seleccionam uma das outras 3 entradas, e o n vel de tens ao na sa da vem igual ao dessa entrada. Por vezes, conv em que o multiplexer seja dotado de uma entrada de Enable que permita controlar melhor o seu funcionamento. O Enable permite, quando activo, que o multiplexer tenha a funcionalidade descrita. Quando inactivo, faz com que a sa da do dispositivo esteja inactiva, independentemente dos valores l ogicos aplicados a `s entradas. Na Figura 10.4 vem desenhado o s mbolo IEC de um multiplexer id entico ao da Figura 10.2 mas com entrada de Enable activa a L. Repare-se que este multiplexer foi desenhado com um Enable activo a L (situa ca o
Entrada de Enable

172

CAP ITULO 10. MULTIPLEXERS E DEMULTIPLEXERS


MUX EN L S0 H S1 H D0 D1 D2 D3 H H H H EN 0 0 G3 1 0 1 2 3

OUT H

Figura 10.4: S mbolo IEC de um multiplexer em que todas as entradas e a sa da s ao activas a H, com excep ca o da entrada de Enable que e activa a L muito frequente), o que quer dizer que a fun ca o de selec ca o s o e feita quando tivermos aplicado um L a ` linha de Enable. Caso contr ario, a sa da vem inactiva. Na Tabela 10.3 apresenta-se a tabela de verdade f sica do multiplexer da Figura 10.4. De notar que esta tabela e id entica a ` da Tabela 10.2 para todas as linhas em que a entrada de Enable est a activa. Quando esta entrada vem desactivada, a sa da do multiplexer vem inactiva. Tabela 10.3: Tabela de verdade f sica do multiplexer com Enable da Figura 10.4
D3 H L H D2 H L H D1 H L H D0 H L H S1 H L L L L H H H H S0 H L L H H L L H H EN L H L L L L L L L L OUT H L L H L H L H L H

Quanto a ` estrutura interna deste multiplexer, podemos v e-la na Figura 10.5.

10.1.1

Simbolos dos multiplexers

J a vimos a subsec ca o anterior os s mbolos IEC 60617-12 de alguns multiplexers. Agora vamos estudar mais alguns s mbolos.
74x151

Na Figura 10.6 est a representado um multiplexer do tipo 74x151 com 8 entradas de dados. Anote-se que: o facto de se tratar de um multiplexer e indicado pelo qualicador geral MUX na parte superior do rect angulo;

Qualicador geral MUX

10.1. MULTIPLEXERS
SEL1 H SEL0 H EN L

173

IN0 H IN1 H

&

OUT H IN2 H IN3 H

Figura 10.5: Logigrama com a estrutura interna do multiplexer da Figura 10.4


74x151 MUX EN 0 0 1 G7 2 0 1 2 3 4 5 6 7

Figura 10.6: S mbolo IEC de um multiplexer do tipo 74x151, com 8 entradas de dados activas a H e Enable activo a L, e com duas sa das complementares as tr es entradas de selec ca o devem ser entendidas em conjunto (da a chaveta); quando se aplica a essas entradas uma determinada quantidade booleana geral, o seu equivalente decimal e gerado internamente e vem activada a entrada com ese n umero (como sabemos, o G representa uma depend encia And); o Enable e, neste multiplexer, activo a L; o circuito representado possui 2 sa das, sendo uma a nega c ao da outra. O simbolo IEC da Figura 10.7(a) representa um multiplexer qu adruplo com a designa ca o 74x157, com 2 entradas de dados em cada multiplexer individual, e com entradas de selec ca o e de Enable comuns. Por essa raz ao, estas linhas est ao num bloco de controlo comum colocado no topo do s mbolo. Quanto ao circuito da Figura 10.7(b), trata-se de um multiplexer duplo com 4 entradas de dados e entradas de Enable independentes, e entradas de selec c ao comuns (o 74x153).

74x157

74x153

174

CAP ITULO 10. MULTIPLEXERS E DEMULTIPLEXERS


74x157 EN G1 MUX EN 0 1 2 3 MUX 0 G0 3 1 74x153

1 1

(a)

(b)

Figura 10.7: (a) S mbolo de um multiplexer qu adruplo (o 74x157), de acordo com a norma IEC 60617-12 cada multiplexer possui 2 entradas de dados, e entradas de selec ca o e de Enable no bloco de controlo comum; com excep ca o do Enable, as entradas e as sa das s ao todas activas a H; (b) um multiplexer duplo (o 74x153), em que cada multiplexer individual possui 4 entradas de dados activas a H e entrada de Enable independente, activa a L, e com entradas de selec c ao comuns, activas a H

10.1.2

Expans ao de multiplexers

A expans ao de multiplexeres pode ser feita de duas formas b asicas.


Estrutura em arvore

Uso de camadas sucessivas de multiplexers, numa estrutura em arvore. Na Figura 10.8 ilustra-se a constru ca o de um multiplexer com 16 entradas de dados, a partir de multiplexers de 4 entradas de dados. De notar, em particular, a designa ca o dadas a `s entradas IN0 a IN15, cuja numera ca o e fun ca o dos pesos relativos dos multiplexers. Por exemplo, o multiplexer superior e o que corresponde a `s entradas com ndices de menor peso (0 a 3), dado que este multiplexer vem seleccionado com (SEL3, SEL2) = = (L, L); o segundo multiplexer corresponde a `s entradas com ndices imediatamente superiores (4 a 7), porque este multiplexer vem seleccionado com (SEL3, SEL2) = (L, H ) reparar que SEL3 tem mais peso do que SEL2; etc. Utiliza ca o de um descodicador auxiliar e de uma porta OR. Na Figura 10.9 ilustra-se este tipo de solu ca o para um multiplexer funcionalmente id entico ao anterior, embora com o dobro das entradas de dados e, naturalmente, mais uma entrada de selec ca o. De notar, agora, que o multiplexer U1 e o que corresponde a `s entradas com ndices de menor peso (0 a 7), dado que ele contribui com a u nica entrada activa (a L) do OR quando o seu Enable est a activo, isto e, quando (SEL4, SEL3) = (L,L); da mesma forma, o multiplexer U2 corresponde a `s entradas com ndices imediatamente superiores (8 a 15) porque ele contribui

10.2. DEMULTIPLEXERS
ENABLE H SEL2 H SEL3 H

175

H SEL0 H SEL1 H IN0 IN1 IN2 IN3 H H H H H

MUX EN 0 G0 3 1 0 1 2 3

IN4 IN5 IN6 IN7

H H H H H

MUX EN 0 G0 3 1 0 1 2 3

OUT H

IN8 IN9 IN10 IN11

H H H H H

IN12 IN13 IN14 IN15

H H H H

Figura 10.8: Logigrama de um multiplexer com 16 entradas de dados, realizado a ` custa de multiplexers com 4 entradas de dados, numa estrutura em a rvore com a u nica entrada activa do OR quando o seu Enable est a activo, isto e, quando (SEL4, SEL3) = (L,H) reparar que SEL4 tem mais peso do que SEL3; etc.

10.2

Demultiplexers
Selec ca o de uma sa da Analogia mec anica de dum demultiplexer

A funcionalidade b asica de um demultiplexer e oposta a ` da de um multiplexer. Nesse sentido, um demultiplexer realiza a fun c ao de selecc c ao de uma sa da, com a analogia mec anica sugerida pela Figura 10.10. De forma id entica a ` que acontecia para as entradas de dados dos multiplexers, admitiremos que o n umero de sa das do demultiplexer e sempre uma pot encia de 2. Um demultiplexer tem, portanto, 2n sa das, das quais uma vem, em cada momento, seleccionada por interm edio de n entradas de controlo ou de selec c ao, que

Sa das de um demultiplexer Entradas de selec ca o ou de controlo

176

CAP ITULO 10. MULTIPLEXERS E DEMULTIPLEXERS


1/2 74x139A

ENABLE H SEL3 H SEL4 H

BIN/1-OF-4 0 1 1 2 2 3 EN

SEL2 H SEL1 H SEL0 H U1 74x151 MUX EN 0 0 1 G7 2 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 H H H H H H H H 0 1 2 3 4 5 6 7 U3 74x151 MUX EN 0 0 1 G7 2 IN8 IN9 IN10 IN11 IN12 IN13 IN14 IN15 H H H H H H H H 0 1 2 3 4 5 6 7 IN24 IN25 IN26 IN27 IN28 IN29 IN30 IN31 H H H H H H H H IN16 IN17 IN18 IN19 IN20 IN21 IN22 IN23 H H H H H H H H U2 74x151 MUX EN 0 0 1 G7 2 0 1 2 3 4 5 6 7 U4 74x151 MUX EN 0 0 1 G7 2 0 1 2 3 4 5 6 7

1/2 74x20 1 OUT H

Figura 10.9: Esquema el ectrico de um multiplexer de 32 entradas, realizado a ` custa de multiplexers de 4 entradas, de um descodicador auxiliar e de uma porta OR
y0 y1 x y2 y3

SEL EN ABLE

Figura 10.10: Analogia entre um comutador mec anico e a fun ca o de selec ca o de uma sa da realizada por um demultiplexer
Entrada de dados

permitem veicular o n vel de tens ao aplicado a ` entrada de dados para a sa da seleccionada.

10.2. DEMULTIPLEXERS Na Figura 10.11 apresenta-se o logigrama de um demultiplexer com 4 sa das.


SEL1 H SEL0 H

177

&

OUT0 H

&

OUT1 H

IN H
&

OUT2 H

&

OUT3 H

Figura 10.11: Logigrama de um demultiplexer com 4 sa das de notar que a estrutura deste demultiplexer E e igual a ` da de um descodicador bin ario de 2 bits com Enable, de que se apresenta um exemplo na Figura 10.12.
IN1 H IN0 H

&

OUT0 H

&

OUT1 H

EN H
&

OUT2 H

&

OUT3 H

Figura 10.12: Logigrama de um descodicador bin ario de 2 bits com Enable, que acentua a semelhan ca com o demultiplexer com 4 sa das da Figura 10.11 Com efeito, basta identicar a entrada de Enable do descodicador com a entrada de dados do demultiplexer e as entradas de dados do descodicador com as entradas de selec ca o do demultiplexer.

178

CAP ITULO 10. MULTIPLEXERS E DEMULTIPLEXERS

Qualicador geral DMUX ou DX

N ao admira, por isso, que os s mbolos IEC dos demultiplexers sejam semelhantes aos dos descodicadores com Enable, distinguindo-se destes pelo qualicador geral DMUX, ou DX, como mostra a Figura 10.13 para um demultiplexer com 4 sa das.

DX EN H SEL0 H SEL1 H IN H EN 0 G0 3 1

0 1 2 3

OUT0 OUT1 OUT2 OUT3

H H H H

Figura 10.13: S mbolo IEC de um demultiplexer com 4 sa das, a que se juntaram designa co es poss veis para as entradas e sa das Os restantes qualicadores t em signicados em tudo id enticos aos que foram utilizados a prop osito dos multiplexers. Podemos, ent ao, estabelecer facilmente a tabela de verdade f sica deste tipo de circuito, como se indica na Tabela 10.4 para um demultiplexer com 4 sa das e Enable, todas activas a H. Tabela 10.4: Tabela de verdade f sica compactada de um demultiplexer com 4 sa das e Enable, todas activas a H
EN H L H H H H SEL1 H L L H H SEL0 H L H L H OUT3 H L L L L IN OUT2 H L L L IN L OUT1 H L L IN L L OUT0 H L IN L L L

74x138

Para nalizar, na Figura 10.14 apresenta-se o s mbolo IEC do 74x138, um demultiplexer com 8 sa das que podemos identicar, em alternativa, com um descodicador bin ario de 3 bits. Na interpreta ca o como demultiplexer [Figura 10.14(a)], o 74x138 possui uma u nica entrada de dados (como seria de esperar) formada pelo AND entre IN0, IN1 e IN2, sendo duas dessas entradas activas a L e a outra a H. Na interpreta ca o como descodicador [Figura 10.14(b)], o 74x138 possui tr es entradas de dados, IN0, IN1 e IN2, e uma entrada de Enable formada pelo AND entre EN0, EN1 e EN2, sendo dois dos Enables activos a L e o outro a H.

74x155

Na Figura 10.15, por seu turno, est a representado o s mbolo IEC do 74x155. Trata-se de um demultiplexer duplo com: (i) entradas de selec ca o comuns aos

10.3. APLICAC OES DOS MULTIPLEXERS E DOS DEMULTIPLEXERS 179

74x138 DX SEL0 H SEL1 H SEL2 H IN0 H IN1 L IN2 L 2 & 0


0 G7

74x138 0 1 2 3 4 5 6 7 OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 L L L L L L L L BIN/OCT 0 1 1 2 2 3 4 4 & 5 EN 6 7 (b) OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 L L L L L L L L

IN0 H IN1 H IN2 H EN0 H EN1 L EN2 L

(a)

Figura 10.14: (a) S mbolo IEC do 74x138, utilizado como demultiplexer; e (b) s mbolo do 74x138, utilizado como descodicador com Enable dois demultiplexers simples, entradas essas identicadas no bloco de controlo comum; (ii) entradas de Enable independentes e activas a L para cada um dos demultiplexers simples; (iii) entrada de dados activa a H para um dos demultiplexers e activa a L para o outro; e (iv) sa das activas a L.
74x155 SEL0 H SEL1 H 0 0 G3 1 DX EN1 L IN1 H G4 4

0 1 2 3

OUT10 OUT11 OUT12 OUT13 OUT20 OUT21 OUT22 OUT23

L L L L L L L L

EN2 L IN2 L

Figura 10.15: S mbolo IEC do 74x155

10.3

Aplica c oes dos Multiplexers e dos Demultiplexers

Uma das aplica co es dos multiplexers e a de realizar a multiplexagem e demultiplexagem de um conjunto de vari aveis, como mostra a Figura 10.16. Uma outra aplica ca o de um multiplexer e na implementa ca o de fun co es. Tal torna-se poss vel porque um multiplexer gera internamente uma soma de produtos de todas as vari aveis de selec ca o, e portanto, uma soma de mintermos.

180

CAP ITULO 10. MULTIPLEXERS E DEMULTIPLEXERS


MUX H EN 0 0 G3 1 0 1 2 3 H SELOUT0 H SELOUT1 H EN 0 0 G3 1

DX

SELIN0 H SELIN1 H IN0 IN1 IN2 IN3 H H H H

0 1 2 3

OUT0 OUT1 OUT2 OUT3

H H H H

Figura 10.16: Multiplexagem e demultiplexagem de dados, conseguida a ` custa de um multiplexer e de um demultiplexer Considere-se, por exemplo, a fun c ao descrita pela tabela de verdade l ogica da Tabela 10.5. Tabela 10.5: Tabela de verdade l ogica de uma fun ca o booleana simples de 2 vari aveis booleanas simples
A 0 0 1 1 B 0 1 0 1 f(A,B) 0 1 1 0

Utilizando um multiplexer de 2 vari aveis de selec ca o e 4 vari aveis de entrada de dados (tantas quantas as linhas da tabela), comecemos por ligar as vari aveis da fun ca o a `s vari aveis de selec ca o do multiplexer pela mesma ordem de pesos , como se indica na Figura 10.17(a).
MUX B H A H 0 0 G3 1 0 1 2 3 (a) B H A H L H H L MUX 0 G0 3 1 0 1 2 3 (b)

f H

Figura 10.17: (a) Liga ca o das vari aveis booleanas simples A e B a `s entradas de selec c ao de um multiplexer com 4 entradas de dados; (b) liga co es a `s entradas de dados Quando A = 0 e B = 0, o multiplexer selecciona para a sua sa da o valor presente na entrada de dados 0. A fun ca o, nessas circunst ancias, deve dar 0 (primeira linha da tabela). Se ligarmos o n vel L a ` entrada 0 do multiplexer, este, quando A = B = 0, apresentar a na sa da o valor da fun ca o (n vel L).

10.3. APLICAC OES DOS MULTIPLEXERS E DOS DEMULTIPLEXERS 181 Se zermos o mesmo para o resto das entradas do multiplexer e das linhas respectivas da tabela, o multiplexer car a a representar toda a fun ca o, como se indica na Figura 10.17(b). Isso permite usar um multiplexer de n vari aveis de selec ca o para construir qualquer fun ca o de n vari aveis. Mas pode-se ir um pouco mais longe. Observe-se o seguinte exemplo: usando o mesmo multiplexer de duas entradas de selec ca o, vamos agora implementar uma fun ca o booleana simples de 3 vari aveis, por exemplo a fun ca o da Tabela 10.6. Tabela 10.6: Tabela de verdade l ogica de uma fun ca o booleana simples de 3 vari aveis booleanas simples
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f(A,B,C) 0 0 0 1 1 1 1 0

Comecemos por ligar duas das vari aveis de entrada a `s entradas de selec ca o do multiplexer. Podemos escolher quaisquer duas vari aveis, mas ser a mais o bvio se escolhermos as duas mais signicativas, A e B . Ligamo-las de forma id entica a ` que se utilizou anteriormente, como mostra a Figura 10.17(a). Repare-se agora no que acontece quando A = 0 e B = 0. O multiplexer selecciona a entrada de dados 0. Mas a fun ca o tem duas linhas com A = 0 e B = 0, e para ambas o valor da fun ca o e 0. Logo, podemos aplicar um n vel L a ` entrada 0, como sugere a Figura 10.18(a).

MUX B H A H L 0 G0 3 1 0 1 2 3 (a) B H A H L C H H C L

MUX 0 0 G3 1 0 1 2 3 (b)

f H

f H

Figura 10.18: (a) Aplica ca o de um n vel L a ` entrada 0 do multiplexer; (b) de uma maneira geral, temos de aplicar a `s entradas de dados as fun co es booleanas simples poss veis da vari avel booleana simples que sobeja, C , depois de escolhidas A e B para aplicar a `s entradas de selec ca o

182

CAP ITULO 10. MULTIPLEXERS E DEMULTIPLEXERS

Na situa ca o seguinte (A = 0 e B = 1) j a a tabela n ao tem o mesmo valor para a fun c ao nas duas linhas. De facto, com A = 0 e B = 1 a fun ca o vale 0 quando C = 0 e vale 1 quando C = 1. Isto e, nessa fatia da tabela a fun ca o vale C . Ent ao, a entrada 1 de dados do multiplexer deve vir ligada a C , como se indica na Figura 10.18(b). Fazendo o mesmo para o resto da tabela, obt em-se a Tabela 10.7. Tabela 10.7: Tabela de verdade l ogica da fun ca o de 3 vari aveis que temos vindo a estudar, dividida em 4 fatias (porque temos duas das vari aveis, A e B , a servir de selec ca o do multiplexer)
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f(A,B,C) 0 0 0 1 1 1 1 0 f =C f =0

f =C

f =1

E o circuito nal ca como se indica na Figura 10.18(b). poss E vel, como se exemplicou atr as, construir qualquer fun ca o f de n vari aveis com um multiplexer de n 1 vari aveis de selec ca o e, eventualmente, uma nega c ao. De uma forma geral, escolhemos n 1 vari aveis (arbitrariamente, embora seja mais simples escolher as de maior peso) que aplicamos a `s entradas de selec ca o, e a cada uma das entradas de dados aplicaremos uma fun c ao da vari avel que resta c ao essa (como sabemos, as fun co es de uma vari avel X s ao 0, 1, X e X ), fun escolhida adequadamente para cada fatia de duas linhas da tabela de verdade da fun ca o f a implementar.

10.4

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 3.5 a 3.8, 3.10 e 3.12.

10.5

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER.

10.5. EXERC ICIOS

183

() 10.1 Desenhar a tabela de verdade f sica e o logigrama com a estrutura interna de um multiplexer com 4 entradas de dados, admitindo que as entradas de dados e a sa da s ao activas a L, e que as entradas de selec ca o s ao activas a H. () 10.2 Desenhar o s mbolo IEC de um multiplexer id entico ao do da Figura 10.4, mas com sa da tri-state. () 10.3 Escrever a tabela de verdade f sica do multiplexer do exerc cio anterior. () 10.4 Desenhar o logigrama de um multiplexer com uma estrutura em a rvore e com 16 entradas de dados, formado por um primeiro n vel com multiplexers de 2 entradas de dados e um segundo n vel formado por um multiplexer com 8 entradas de dados. Admitir que as entradas e a sa da s ao todas activas a H. 10.5 Dado o descodicador duplo da Figura 10.19, do tipo 74x139, diga como o pode utilizar para demultiplexar dois bits de dados, A L e B L.
74x139 BIN/1-OF-4 1 2 EN 0 1 2 3 74x139

Figura 10.19: S mbolo IEC de um descodicador duplo do tipo 74x139 10.6 Diga como pode ligar dois multiplexers como o da Figura 10.20, do tipo 74x251, de modo a construir um multiplexer com 16 entradas e 1 sa da. Use a l ogica discreta suplementar que entender necess aria.
74x251 MUX EN 0 0 1 G7 2 0 1 2 3 4 5 6 7

74x251

Figura 10.20: S mbolo IEC de um multiplexer 74x251

184

CAP ITULO 10. MULTIPLEXERS E DEMULTIPLEXERS

10.7 Suponha que e dado o multiplexer da Figura 10.20, do tipo 74x251. Pretende-se obter, numa das suas sa das, o n vel de tens ao oposto ao n vel aplicado a ` entrada 5 de dados. Quais os n veis a aplicar ` as v arias entradas, e qual a sa da pretendida? 10.8 Utilize o multiplexer da Figura 10.2(a), na p agina 170, para gerar a fun ca o booleana simples Z = S1 S0 + S0 V + S1 S0 V . 10.9 Diga como pode utilizar o multiplexer da Figura 10.2(a), na p agina 170, para gerar a fun ca o booleana simples Z = S1 S0 + S0 W + V W + S0 W . 10.10 Utilize um multiplexer com 8 entradas de dados para gerar a fun c ao Z = m(0, 3, 5, 6, 9, 10, 12, 15). Trace um logigrama que implemente a mesma fun ca o, mas que utiliza apenas ANDs com entradas activas a H e sa da activa a L. Se s o utilizar circuitos integrados que cont em, cada um, dois ANDs deste tipo com 4 entradas, compare as duas solu co es de implementa ca o contabilizando, em cada caso, o n umero total de integrados. 10.11 Utilize um multiplexer com 8 entradas de dados para gerar a fun ca o f (A, B, C, D, E ) = m(0 5, 10, 13, 20 25, 30, 31). 10.12 Disp oe de 4 multiplexeres com 3 entradas de controlo, e de um descodicador de 2 entradas. Projecte, usando o material referido, um multiplexer com 5 entradas de controlo (e, portanto, com 32 entradas de dados). Especique as suposi co es que fez em rela ca o ao material de que disp oe. Se necessitar, pode utilizar portas l ogicas suplementares. 10.13 Disp oe de multiplexeres com 3 entradas de controlo, e de descodicadores de 3 entradas. Especicando em pormenor os circuitos que usar, comstruir um multiplexer com 6 entradas de controlo. 10.14 Usando um multiplexer com 3 entradas de controlo e a l ogica adicional que entender, sintetize as seguintes fun co es booleanas simples: a) b) c) d) e) f f f f f = (A B ) (C D); = (A B ) (C D); = A B + A C D + A B C D; = m(0, 2, 3, 5, 7, 12 14) + md (1, 10, 15); = A B (C D ) + A B C + A C D + B C D .

10.15 Considere o circuito da Figura 10.21.


MUX L A H B L L C L H EN 0 0 G3 1 0 1 2 3

X H Z H

Figura 10.21: Circuito utilizado no Exerc cio 10.15

10.5. EXERC ICIOS a) b)

185

Qual e a express ao l ogica da fun ca o booleana simples X , expressa nas vari aveis A, B e C ? Se as vari aveis A, B e C estiverem activas, qual e o n vel de tens ao na linha Z H?

10.16 Considere o circuito da Figura 10.22.


MUX 0 0 1 G7 2 0 1 2 3 4 5 6 7 F H

A H B H C H L H D L H D H D H H L

Figura 10.22: Circuito utilizado no Exerc cio 10.16 a) Sendo A a vari avel de maior peso e D a de menor peso, diga qual a fun ca o f (A, B, C, D) sintetizada pelo multiplexer da gura. Simplique-a pelo processo que entender. Quando ocorrer uma mudan ca na congura ca o das vari aveis de controlo, poder ao ocorrer picos na sa da? Porqu e? Como construiria a mesma fun ca o na sa da activa a L do multiplexer?

b) c)

10.17 Usando um multiplexer de 3 entradas de controlo, construa um circuito que realiza a fun ca o constru da na Figura 9.11 (Exerc cio 9.22, na p agina 166). dada a seguinte fun 10.18 E ca o, f = A B + B C + C A + A B C . a) b) Implemente-a usando um multiplexer com 4 entradas de dados. Usando o multiplexer anterior, quantas implementa c oes diferentes da fun ca o poderia fazer? Porqu e? Qual e a fun ca o concretizada pelo circuito? Sintetize de novo a fun ca o usando o m nimo de l ogica poss vel.

10.19 Considere o circuito da Figura 10.23. a) b)

10.20 Considere que disp oe de multiplexers de 8 linhas de dados e uma linha de Enable activa a L. A sa da do multiplexer e activa a L, e e do tipo TTL convencional (totem-pole). Usando o m nimo de l ogica adicional, construa um multiplexer com 16 entradas de dados.

186

CAP ITULO 10. MULTIPLEXERS E DEMULTIPLEXERS

MUX D H C H B H
=1

0 G0 3 1 0 1 2 3 F H

=1

A H

Figura 10.23: Circuito utilizado no Exerc cio 10.19

Cap tulo 11

Circuitos Aritm eticos


11.1 Somadores Bin arios

Circuitos aritmeticos s ao aqueles que realizam opera co es aritm eticas sobre, em princ pio, n umeros bin arios. Para realizar circuitos aritm eticos teremos que utilizar fun co es l ogicas, uma vez que s ao estas de que dispomos em termos de circuitos. O circuito mais simples que podemos considerar e o circuito que implementa a soma de dois algarismos bin arios. Recordemos a Tabela 1.3 da soma na base 2, que reproduzimos na Tabela 11.1 sob uma forma ligeiramente diferente, para facilitar a exposi ca o. Tabela 11.1: Tabela da adi ca o no sistema bin ario
Adi ca o bin aria

A+B B=0 B=1

A=0 0 1

A=1 1 10

O circuito somar a, portanto, dois bits, e o resultado tem 2 bits, em que um eo resultado da soma propriamente dito e o outro e o transporte para o algarismo seguinte. Se zermos corresponder aos d gitos na base 2, isto e, 0 e 1, os valores l ogicos correspondentes, respectivamente 0 e 1, podemos construir a tabela de verdade das duas fun co es l ogicas que representam o resultado da soma (Tabela 11.2). O transporte e habitualmente representado por CO, signicando Carry Out (transporte para o exterior). 187

188

CAP ITULO 11. CIRCUITOS ARITMETICOS

Tabela 11.2: Tabela da adi ca o no sistema bin ario


AB 00 01 10 11 Soma 0 1 1 0 Transporte 0 0 0 1

Podemos realizar a simplica ca o das duas fun co es pelo m etodo de Karnaugh, mas da tabela de verdade conseguimos obter imediatamente S = AB CO = A B . O circuito pode, ent ao, ser facilmente desenhado (Figura 11.1).
A H B H
=1 &

CO H

S H

Figura 11.1: Logigrama de um semi-somador


Semi-somador

Este circuito tem o nome de semi-somador. A raz ao para a designa ca o semi prende-se com o facto de o circuito n ao ser capaz de somar os bits dos operandos e ainda o transporte proveniente de uma coluna mais a ` direita, como e necess ario fazer quando somamos dois n umeros bin arios com n bits, por exemplo em
3 2 1 0

Colunas
(2) (2) (2)

1 + 1
1

1 1 0
1 0

0 0 1
1

1 1 0

Somador completo

preciso desenvolver um Nesses casos e necess ario ir um pouco mais longe. E circuito somador completo, capaz de somar os 3 bits que podemos encontrar em cada uma das colunas da soma: os dois bits dos operandos, A e B , e ainda o transporte proveniente da coluna imediatamente a ` direita, CI (CI tem o signicado de Carry In, ou transporte de entrada). As sa das S e CO do somador completo t em, como tabelas de verdade, as que resultam da adi ca o destes 3 bits, e que se apresentam na Tabela 11.3. A partir desta tabela podemos gerar os quadros de Karnaugh das fun co es CO e S e, em seguida, obter as suas express oes m nimas, por exemplo em somas de produtos. Mas porque as tabelas de verdade s ao muito simples, facilmente

11.1. SOMADORES BINARIOS

189

Tabela 11.3: Tabela de verdade de um somador completo


A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 CI 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 CO 0 0 0 1 0 1 1 1

deduzimos directamente as express oes das fun co es: S = A B CI CO = A B + CI (A B ) . Com estas express oes podemos agora construir um somador completo a ` custa de dois semi-somadores, j a que elas s ao, no essencial, extens oes das express oes das sa das de um semi-somador (ver atr as). Basta acrescentar uma porta OR no m, como sugere a Figura 11.2.
1/2 S A H B H
& & 1 =1

1/2 S
=1

S H

CO H CI H

Figura 11.2: Logigrama de um somador completo, formado por dois semi-somadores e uma porta OR Admitindo a exist encia de somadores completos, podemos associ a-los para realizar somadores de n bits, constru dos iterativamente a partir de somadores completos. Na Figura 11.3 ilustra-se o diagrama de blocos de um somador iterativo de 4 bits. Repare-se que, nesta gura, o bit mais signicativo est a colocado a ` esquerda e o menos signicativo a ` direita, pelo que o uxo da informa ca o decorre da direita para a esquerda (ao contr ario do que e admitido por omiss ao nos logigramas, diagramas de blocos e esquema el ectricos, da a inclus ao de setas) Por em, este tipo de representa ca o e mais natural, j a que e a habitual quando se fazem adi co es ver, por exemplo, a soma anterior, que se reproduz a seguir.

Somador iterativo de n bits

190
A3 B3 A2

CAP ITULO 11. CIRCUITOS ARITMETICOS


B2 A1 B1 A0 B0

Ai

Bi Ci

Ai

Bi Ci

Ai

Bi Ci

Ai

Bi Ci

CO

C4

Ci1 Si

C3

Ci1 Si

C2

Ci1 Si

C1

Ci1 Si

C0

CI

S3

S2

S1

S0

Figura 11.3: Diagrama de blocos de um somador iterativo de 4 bits, formado pela interliga ca o de quatro somadores completos Colunas
(2) (2) (2)

1 + 1
1

1 1 0
1 0

0 0 1
1

1 1 0

74x283

Na Figura 11.4 apresenta-se o s mbolo IEC de um somador iterativo de 4 bits, o 74x283.


74x283 0 P 3 0 Q 3 CI CO 3 0

Figura 11.4: S mbolo IEC do 74x283


Qualicador geral Qualicadores de entrada Pi, Qi e CI Qualicadores de sa da i e CO

De notar o qualicador geral que indica um somador. De notar ainda os qualicadores de entrada P0 a P3 e Q0 a Q3, e os qualicadores de sa da 0 a 3, para al em dos qualicadores que identicam os transportes.

11.2

Subtractores Bin arios

Subtractor completo Subtractor iterativo de n bits

O problema da subtrac ca o de n umeros bin arios (sem sinal) pode ser resolvido recorrendo a subtractores completos e, a partir destes, formando subtractores iterativos de n bits, de forma an aloga a ` que foi utilizada para os adicionadores bin arios da sec ca o anterior. Para o fazermos, come camos por apresentar, na Tabela 11.4, a opera ca o de subtrac ca o A B no sistema bin ario admitindo que existe um transporte

11.2. SUBTRACTORES BINARIOS

191

CI da subtrac ca o anterior o que produz a diferen ca D e um transporte CO (recordar que A e o aditivo e B e o subtractivo na opera ca o de subtrac ca o).

Aditivo e subtractivo

Tabela 11.4: Tabela da subtrac ca o no sistema bin ario


A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 CI 0 1 0 1 0 1 0 1 D 0 1 1 0 1 0 0 1 CO 0 1 1 1 0 0 0 1

Em rela ca o a esta tabela devemos notar como, para cada par de valores nas entradas A e B , se adiciona CI a B e depois se subtrai de A para a obten ca o da diferen ca D e do transporte CO. Na Figura 11.5 apresentam-se os quadros de Karnaugh destas fun co es.
B, CI A 00 0 1 0 1 B, CI A 00 0 1 0 0

01 1 0

11 0 1

10 1 0

01 1 0

11 1 1

10 1 0

D = A B CI ou D = A B CI

CO = A B + A CI + B CI = A B + CI (A B + A B ) = A B + CI (A B )

Figura 11.5: Quadros de Karnaugh das fun co es booleanas simples D e CO As equa co es l ogicas que se obt em s ao, ent ao, D = A B CI CO = A B + A CI + B CI o que, ap os manipula ca o simples, permite obter D = A B CI CO = A B + CI (A B ) . Estas u ltimas equa co es sugerem a utiliza ca o de dois semi-somadores como os da Figura 11.1 para formar D e CO, como se ilustra na Figura 11.6.

192
1/2 S
=1

CAP ITULO 11. CIRCUITOS ARITMETICOS

A H

1/2 S
=1 1

D H B H
& & 1

CO H CI H

Figura 11.6: Logigrama de um subtractor completo formado por dois semi-somadores e l ogica adicional

11.3

Somadores e Subtractores em Complemento para 2

Como sabemos da Subsec ca o 1.4.2, a soma de dois n umeros representados em nota c ao de complemento para 2 e feita como se de n umeros bin arios se tratasse. Ou seja, a soma de n umeros com n bits representados nessa nota ca o usa um somador bin ario de n bits, e o resultado vem correcto a ` sa da do somador desde que n ao haja overow na opera ca o. Por outro lado, como tamb em j a sabemos, para detectar um eventual overow na adi ca o em complemento para 2 basta ver se o transporte proveniente do u ltimo bit para o exterior do somador e diferente do transporte proveniente do bit anterior e que vai para a posi ca o do bit de sinal, o que pode ser feito simplesmente com uma porta XOR. Da mesma subsec ca o, sabemos ainda que a utiliza ca o de n umeros representados em nota ca o de complemento para 2 permite realizar subtrac co es de forma muito simples. Com efeito, realizar a subtrac ca o x y e o mesmo que realizar a soma x + + (y). Por outro lado, trocar o sinal a um n umero representado em nota ca o de complemento para 2 signica, na pr atica, obter o complemento para 2 do n umero. Assim sendo, a subtrac ca o em complemento para 2 pode ser obtida a partir de um somador bin ario. Usando as propriedades da fun c ao OU-exclusivo a seguir listadas: x1 =x x0 =x e ainda a possibilidade de usar a vari avel CI de um somador para adicionar uma unidade aos dois n umeros, e poss vel realizar um circuito somador/subtractor em complemento para 2 com o logigrama da Figura 11.7.

Somador/subtractor

11.4. SOMADORES BCD


SUB H/ADD L
=1

193

B H
=1

SUB H/ADD L L H

Opera ca o R= A+B R= AB

=1

74x283
=1

0 P 3 0 Q 3 CI CO COUT H 3 0 R H

A H

Figura 11.7: Logigrama de um somador/subtractor em complemento para 2

11.4

Somadores BCD

Como se viu no Cap tulo 2, o c odigo BCD e uma forma de representar algarismos decimais. Um n umero representado em BCD n ao est a representado em base 2. Como eo bvio, tal representa ca o n ao pretende ter qualquer signicado aritm etico e, para al em disso, n ao e destinada a ` realiza ca o de opera co es aritm eticas. No entanto, tal e poss vel e, por vezes, e interessante. Isso acontece quando temos representa co es de n umeros em BCD sobre os quais e necess ario fazer pequenos c alculos que n ao justicam, por exemplo, a convers ao para bin ario. A soma em BCD e feita, naturalmente, d gito decimal a d gito decimal. Por exemplo, se somarmos 3 + 5 deveremos obter o algarismo 8. Se, para isso usarmos um somador de 4 bits, podemos observar a seguinte opera ca o: 0 + 0 1 0 1 1 1 0 1 0 0 0

As duas parcelas s ao algarismos BCD, tal como o resultado. Muitas vezes, por em, o resultado da soma (desde que maior que 9) n ao pode ser representado por um algarismo BCD. Por exemplo, 7 + 5 = 12 produz o seguinte resultado: 0 1 1 1 + 0 1 0 1 1 que n ao e um algarismo BCD. 1 0 0

194

CAP ITULO 11. CIRCUITOS ARITMETICOS

Em certos casos pode obter-se at e um transporte no somador. Por exemplo, se somarmos 8 + 9 = 17 observa-se: + 1 1 0 1 0 0 0 0 0 0 1 0 1

Repare-se que a sequ encia de n umeros em BCD que podem ser resultado de uma soma de dois digitos BCD pode ser ilustrada como se indica na Tabela 11.5. Tabela 11.5: Soma de dois d gitos BCD, interpretada em decimal, em bin ario e em BCD
Resultado em decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 em bin ario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 em BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

1 1 1 1

0001 0001 0001 0001 0001 0001 0001 0001 0001 0001

Como estamos a tentar utilizar somadores bin arios para fazer a soma, o resultado que obtemos e o que corresponde a ` coluna central da tabela, quando o que quer amos obter seria o da coluna da direita. Mas repare-se que, a partir do n umero 10(10), o resultado na coluna da direita seria o que se obteria de um somador se som assemos 0110, isto e, 6(10), ao resultado da coluna do meio. Por exemplo, se o resultado em bin ario, ` a sa da do somador, fosse o n umero 15(10) = 1111(2), far amos + 1 1 1 0 1 0 1 1 1 1 0 0 1

Isso quer dizer que e poss vel corrigir o resultado da soma adicionando 6(10) = gito cor= 0110(2), de forma a obter-se o resultado certo em BCD, com o d recto (digamos, o d gito das unidades) e ainda um transporte para o algarismo seguinte, interpretado como um segundo d gito BCD (o d gito das dezenas).

11.5. REFERENCIAS BIBLIOGRAFICAS

195

A detec ca o das condi c oes em que se tem de fazer a correc ca o e f ecil de determinar. A correc ca o tem de ocorrer em dois casos: 1. o resultado e uma congura ca o superior a 9(10); ou 2. existe um transporte da soma. No primeiro caso, a detec ca o faz-se por uma fun ca o l ogica dos bits ` a sa da do somador bin ario, que facilmente se conclui ser F = X Y + X Z , em que X e o bit de maior peso da soma (de notar que X Y detecta uma soma com um resultado igual ou superior a 12(10), enquanto que X Z detecta um resultado igual a 10(10) ou a 11(10)). No segundo caso, a detec ca o faz-se pelo transporte do somador. O circuito ilustrado na Figura 11.8 mostra como se pode, portanto, fazer um somador de dois d gitos BCD, que pode ser ligado em cascata para somar unidades, dezenas, centenas, etc.
74x283 0 A H 3 0 B H 3 CIN H CI CO
1

Somador de dois d gitos BCD

74x283 P 0 Q 3 L L L 3 0 Q 3 CI CO COUT H 3 0 P 0 (A+B) H

&

10.OR.11 H
1

&

GT.EQ.12 H

Figura 11.8: Somador de dois d gitos BCD

11.5

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 4.4 e 4.5.

196

CAP ITULO 11. CIRCUITOS ARITMETICOS

11.6

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. 11.1 Provar que um somador completo pode ser construido a ` custa de dois semi-somadores como os da Figura 11.1, obtendo-se o logigrama da Figura 11.2. 11.2 Utilizar um somador integrado de 4 bits como o 74x283 da Figura 11.4, para implementar um conversor do c odigo BCD para o c odigo Excesso de 3 (para a deni ca o deste u ltimo, ver a p agina 151).

Parte III

CIRCUITOS SEQUENCIAIS

197

Cap tulo 12

Latches
12.1 Latches Simples

Muitas vezes, no projecto de um sistema digital e necess erio recorrer a circuitos l ogicos cujo comportamento depende n ao s o dos valores nas entradas em cada momento, mas tamb em do comportamento anterior dessas entradas, isto e, a circuitos cujo comportamento e determinado, parcial ou totalmente, pelas entradas que ocorreram no passado. Esses cicuitos designam-se por circuitos sequenciais, por oposi ca o aos circuitos combinat orios que estud amos nos cap tulos anteriores. Consideremos o circuito da Figura 12.1.
S H
1

Circuito sequencial Circuito combinat orio

Q H

Figura 12.1: Exemplo de circuito sequencial muito simples Admitamos que os valores iniciais da fun ca o Q e da vari avel de entrada S s ao iguais a L. Essa situa ca o e est avel, como se pode facilmente constatar e, portanto, mant em-se Q H em L. Vejamos o que acontece agora se a vari avel S for activada, isto e, se aplicarmos ca o Q um n vel H no o S H. Nesse caso, e como H + L = H, o valor da fun ca o Q H = H mant em-se altera-se e ca Q H = H. Como H + H = H, a situa est avel a partir daqui. Se agora aplicarmos um n vel L na linha S H, a linha Q H mant em-se activa, isto e, a H. Este comportamento pode ser descrito sinteticamente pela Tabela 12.1, em que da do Q H(t) representa o valor, num determinado instante t, da linha de sa e o valor da mesma linha um breve intervalo de tempo circuito OR, e Q H(t+t) t depois, em que t e o tempo de atraso do circuito OR. Um diagrama temporal ilustrativo do comportamento deste circuito e o que se representa na Figura 12.2. 199

200

CAP ITULO 12. LATCHES

Tabela 12.1: Tabela de verdade f sica do circuito sequencial da Figura 12.1


S H L L H H Q H(t) L H L H Q H(t+t) L H H H

S H

Q H

Figura 12.2: Diagrama temporal que ilustra o funcionamento do elemento de mem oria da Figura 12.1 Este circuito muito simples constitui, como se pode ver, uma mem oria elementar, capaz de armazenar 1 bit de informa c ao. Com efeito, o n vel de tens ao em Q H indica se alguma vez, durante o funcionamento do circuito, a linha S H foi activada. O defeito do circuito da Figura 12.1 e que, uma vez assumido o n vel H na linha de sa da, este n ao pode vir alterado. Assim, como elemento de mem oria este circuito e pouco interessante, uma vez que s o podemos registar nele um tipo de informa ca o (for car o n vel H na linha de sa da). Seria mais u til dispormos de uma mem oria elementar mais completa, ainda capaz de armazenar 1 bit de informa ca o, mas em que consegu ssemos controlar indistintamente os dois n veis L e H na sa da (isto e, for car a linha de sa da a L ou a H, conforme quisessemos). Um circuito que cumpre essa especica ca o e o da Figura 12.3.
S H
1

Mem oria elementar

P H

&

Q H

R H

R L

Figura 12.3: Modica c ao do circuito da Figura 12.1 que permite armazenar um n vel L ou um n vel H na linha de sa da Q H ao todas a L. Suponhamos que, inicialmente, as linhas Q H, S H e R H est Nesse caso teremos P H = L e R L = H. De onde se conclui que Q H continua a L e, por consequ encia, que a situa ca o e est avel. Se, agora, a linha S H for levada a H, mantendo-se R H a L, teremos P H a a o valor H. H e, por conseguinte, Q H assumir Da mesma forma que no circuito anterior, se em seguida desactivarmos a vari avel

12.1. LATCHES SIMPLES

201

ca o Q continuar a activa (Q H = H). At e aqui tudo S (fazendo S H = L) a fun se passa como anteriormente, no circuito da Figura 12.1. Levemos agora R H a H. Como R L ca com o n vel L, e independentemente claro que, a partir e, por enquanto, H), vir a Q H = L. E do n vel de P H (que de agora, e enquanto n ao voltar a ser activada a linha de entrada S H, a linha a a L. de sa da Q H permanecer Estamos, pois, na posse de um circuito de mem oria cujo conte udo pode ser alterado sempre que se queira e que e, por isso, um circuito mais ex vel que o anterior. O comportamento deste circuito pode ser descrito pela Tabela 12.2. Tabela 12.2: Tabela de verdade f sica do elemento de mem oria da Figura 12.3
S H L L L L H H H H R H L L H H L L H H Q H(t) L H L H L H L H Q H(t+t) L H L L H H L L

Um diagrama temporal ilustrativo do funcionamento desta mem oria e o da Figura 12.4.


S H

R H

Q H

Figura 12.4: Diagrama temporal que ilustra o comportamento do elemento de mem oria da Figura 12.3 Deve notar-se que, ao contr ario do que sucede no diagrama temporal da Figura 6.7, na p agina 101, o diagrama da Figura 12.4 vem simplicado, n ao incluindo os tempos de propaga ca o no circuito e admitindo transi co es instant aneas entre os n veis L e H. Esta e uma situa ca o muito comum, que seguiremos no futuro sempre que n ao haja possibilidade de confus oes devido a `s simplica co es. Conv em, desde j a, chamar a aten ca o para um caso que origina geralmente algumas diculdades de interpreta ca o. Trata-se da situa c ao em que se encontram activas simultaneamente as linhas S H e R H. Repare-se que se est a a pedir

202

CAP ITULO 12. LATCHES

ao circuito, de acordo com o que vimos anteriormente, que ele active e desactive simultaneamente a linha de saida Q H (a ponha simultaneamente a L e a H). Como tais ordens s ao contradit orias, o circuito n ao pode cumprir ambas. Dada a estrutura do circuito, o resultado e, como se pode ver na Tabela 12.2, a coloca ca o do valor L na linha Q H. Esta situa ca o, embora at pica, e poss vel, n ao oferecendo quaisquer diculdades conceptuais e n ao implicando qualquer actividade n ao previs vel do circuito. Uma outra situa ca o, que por vezes e confundida com a primeira, e a que a seguir se descreve. a Q H = L neste Admita-se que se tem S H = R H = H. Como vimos, vir circuito. Admita-se agora que S H e R H transitam simultaneamente para L. Essa simultaneidade n ao e poss vel se encararmos escalas de tempo muito nas em que, por exemplo, a diferen ca entre os tempos de propaga ca o dos sinais nas linhas de entrada seja signicativa. De qualquer modo, se a diferen ca entre uma transi ca o e outra for maior que a ordem de grandeza do tempo de atraso dos circuitos, prevalece, e claro, a combina ca o interm edia. No caso de ser menor, tudo depende dos atrasos relativos dos circuitos e o resultado n ao e previs vel .
Latches Latch SR

O circuito agora apresentado pertence a uma classe de circuitos que s ao designados por latches. Neste caso concreto trata-se do latch SR. Um latch tal como um ip-op, que estudaremos no cap tulo seguinte pode ser denido como um dispositivo que armazena 1 bit de informa ca o e que pode ser mantido indenidamente num qualquer de dois estados, comutando (mudando) de um para o outro por activa ca o de determinadas entradas. A diferen ca entre um latch e um ip-op ser a explicada oportunamente, mas podemos adiantar desde j a que ela depende das entradas e do modo como as entradas forem actuadas. Uma an alise rudimentar do circuito da Figura 12.5 revela que tem um comportamento exactamente igual ao anterior. Este circuito tamb em se emprega muito. Ali as, tem a vantagem de necessitar apenas de duas portas l ogicas e do mesmo tipo.
S H
1 1

R H

Q H

Figura 12.5: Forma alternativa ` a do latch da Figura 12.3 Uma forma mais usual de desenhar o latch SR e a da Figura 12.6. A saida Q H c ao particular em que e, normalmente, a nega ca o da saida Q H excepto na situa as vari aveis de entrada S e R est ao simultaneamente activas. Nessa situa c ao teremos Q H = Q H = L. Esse caso e, por em, de menor interesse, sendo, por e o mesmo, por isso, frequente que Q H seja representada por Q H ou, o que Q L, como mostra a gura.
Estados de um latch

Os n veis de tens ao na sa da Q H denem os estados do latch. Dizemos, assim, e de forma simplicada, que o latch se encontra, num determinado momento, no estado Q = H ou no estado Q = L (em vez de Q H = H ou Q H = L). Desta forma, a activa ca o da entrada S leva o latch para o estado Q = H, e a activa ca o da entrada R leva o latch para o estado Q = L.

12.1. LATCHES SIMPLES

203

S H

Q H ou Q L ou Q H

R H

Q H

Figura 12.6: Logigrama habitual de um latch SR Tabela 12.3: Tabela de verdade f sica do latch SR da Figura 12.6
S H L L H H R H L H L H Q H(t+t) Q H(t) L H L Q L(t+t) Q L(t) H L L Modo Manuten ca o Reset Set For ca LL

A tabela de verdade f sica para este circuito e identica a ` da Tabela 12.2. Na Tabela 12.3 representa-se uma vers ao abreviada, que tem em conta tamb em a ao identicadas v arios modos de funcionasaida Q L. Notemos que na tabela est mento do latch SR: o modo de manuten c ao do estado do latch, com S e R inactivas, em que o seu estado se mant em e, por conseguinte, se tem Q H(t+t) = Q H(t) ; do mesmo modo, Q L(t+t) = Q L(t) ; o modo de Reset do latch, com R activa mas S inactiva, em que se faz o Reset da sa da Q H, o que signica que se tem Q H(t+t) = L e, por conseguinte, tamb em se tem Q L(t+t) = H; o modo de Set do latch, com S activa mas R inactiva, em que se faz o Set da sa da Q H, o que signica que se tem Q H(t+t) = H e, por conseguinte, tamb em se tem Q L(t+t) = L; e, nalmente, um modo de funcionamento sem nenhuma designa ca o especial, com S e R eem for cadas a L; neste modo de activas, em que as sa da Q H e Q L v funcionamento, e apenas neste, as sa das n ao s ao complementares. Fazem, por isso, sentido as designa co es S e R, com o signicado de Set e Reset, respectivamente e que se podem traduzir por p or (ou activar) e repor (ou desactivar) a fun ca o de sa da Q. A interpreta ca o da Tabela 12.3 deve, ent ao, ser feita nos seguintes moldes: 1. na primeira linha as vari aveis de entrada S e R est ao ambas inactivas, ou seja, n ao se quer fazer o Set nem o Reset do latch ; nessas condi co es, em o seu valor anterior; as fun co es de sa da Q e Q mant

Modos de funcionamento de um latch SR Modo de manuten ca o

Modo de Reset

Modo de Set

Funcionamento de um latch SR

204

CAP ITULO 12. LATCHES

2. na segunda linha faz-se o Reset do latch, j a que R est a activa (e S est a inactiva); ent ao, a fun ca o de sa da Q vem desactivada (a L) e Q vem a H; 3. na terceira linha os pap eis das entradas v em trocados, isto e, agora faz-se o Set do latch , com S activa (e R inactiva); nessas condi co es, a fun ca o de sa da Q vem activada (a H) e Q vem a L; 4. nalmente, na quarta linha tenta fazer-se simultaneamente o Set e o Reset do latch ; como vimos anteriormente, estas ordens s ao contradit orias na medida em que o circuito n ao pode simultaneamente activar e desactivar a fun ca o Q, e ele responde colocando a L as fun co es de sa da Q e Q. tamb E em comum utilizar o circuito da Figura 12.7, que e semelhante ao anterior mas com as vari aveis de entrada S e R activas no nivel L (por isso, este tipo de latch designa-se habitualmente por latch S R).
S L
&

Latch S R

Q H

&

R L

Q L

Figura 12.7: Logigrama de um latch S R


Modos de funcionamento de um latch S R

A tabela de verdade f sica simplicada para este latch e a da Tabela 12.4, em que podemos constatar os mesmos modos de funcionamento do latch SR, excepto pelo facto de os n veis de actividade das entradas serem diferentes nos dois casos. Tabela 12.4: Tabela de verdade f sica de um latch S R
S L L L H H R L L H L H Q H(t+t) H H L Q H(t) Q L(t+t) H L H Q L(t) Modo For ca HH Set Reset Manuten ca o

As designa co es S L e R L s ao, naturalmente, equivalentes a S H e R H.


Funcionamento de um latch S R

A interpreta ca o da Tabela 12.4 deve, ent ao, ser feita nos seguintes moldes: 1. na primeira linha pretende efectuar-se simultaneamente o Set e o Reset do latch, o que o circuito n ao consegue fazer; a sua resposta consiste em colocar a H as duas fun co es de sa da; 2. na segunda linha faz-se o Set do latch , j a que S est a activa e R inactiva; nessas condi co es, a sa da Q H vem activa (a H) e a outra sa da a L; 3. na terceira linha faz-se o Reset do latch, com R activa e S inactiva; da vem a H; ent ao, a sa da Q H vem desactivada (a L) e a outra sa

12.2. LATCHES CONTROLADOS

205

4. nalmente, na u ltima linha n ao se quer fazer o Set nem o Reset do em o seu valor latch ; nessas condi co es, as fun co es de sa da Q e Q mant anterior. Como eo bvio, podem considerar-se latches SR com mais de uma entrada S ou R, como se exemplica na Figura 12.8 para um latch S R.
S1 L S2 L
&

Q H

R2 L R1 L

&

Q L

Figura 12.8: Logigrama de um latch S R com duas entradas de Set e duas de Reset e conseguida pela activa ca o de S1 ou Neste latch, a activa c ao da saida Q H vel L), indiferentemente, e a desactiva ca o da sa da e conseguida de S2 (com o n em indiferentemente. pela activa ca o de R1 ou de R2 , tamb A representa ca o destes circuitos de acordo com a norma IEC 60617-12 e feita por um simbolo com contorno rectangular, como e habitual, mas sem qualicador geral, situa ca o que e extensiva a todos os elementos bi-est aveis (latches e ip-ops). Na Figura 12.9 representa-se o s mbolo IEC do latch S R da Figura 12.8.
S S R R S mbolo do latch S R

Figura 12.9: S mbolo IEC do latch S R da Figura 12.8 De notar que a norma IEC 60617-12 usa o qualicador de entrada S para designar a depend encia Set, e o qualicador de entrada R para designar a depend encia Reset.
Qualicadores de entrada S e R Depend encias Set (S) e Reset (R)

12.2

Latches Controlados

Os latches at e agora estudados respondem a mudan cas de n veis nas suas entradas, logo que elas ocorrem. Um latch deste tipo e usualmente designado por assincrono porque o seu comportamento n ao e sincronizado por qualquer sinal. Mas consideremos o circuito sequencial da Figura 12.10. Estamos, agora, na presen ca de um latch SR cujo comportamento depende do n vel numa entrada de controlo, EN . Ou seja, temos agora um latch controlado do tipo SR, ou latch SR controlado, ou latch SR sincronizado, ou ainda latch SRT.

Latch ass ncrono

Latch SR controlado, ou sincronizado ou SRT

206
S H
&

CAP ITULO 12. LATCHES


S L

&

Q H

EN H
& &

R L

Q L

R H

Figura 12.10: Circuito de um latch SR controlado, ou sincronizado Como podemos observar, quando a vari avel de entrada EN est a a H as vari aveis S e R aparecem complementadas nas linhas S L e R L de entrada para o latch S R da direita, e globalmente o circuito comporta-se como um latch SR. Pelo contr ario, quando a vari avel de entrada EN est a a L as portas AND da esquerda do logigrama t em pelo menos uma entrada inactiva, e as suas sa das v em a H, pelo que o latch S R da direita mant em o seu estado. Ou seja, a linha de entrada EN H, quando activa, permite que as restantes entradas regulem o funcionamento do latch, e quando inactiva inibe qualquer mudan ca deste, que mant em o seu estado. Esta entrada tem, portanto, e naturalmente, o nome de Enable. Ent ao, a tabela de verdade f sica que descreve o funcionamento deste latch (Tabela 12.5) e semelhante a ` que descreve o comportamento de um latch SR ass ncrono quando a vari avel EN est a activa. No caso contr ario, o circuito n ao reage a `s mudancas nas entradas S e R. Tabela 12.5: Tabela de verdade f sica de um latch SR controlado
EN H L H H H H S H L L H H R H L H L H Q H(t+t) Q H(t) Q H(t) L H H Q L(t+t) Q L(t) Q L(t) H L H Modo Manuten ca o Manuten ca o Reset Set For ca HH

Funcionamento de um latch SR controlado

No caso de se estabelecer, com EN a L, uma congura ca o nas entradas S e R que faria o latch mudar de estado se EN estivesse activa, o que se passa e que essa mudanca ocorrer a logo que EN que activa.
Modos de funcionamento de um latch SR controlado

Podemos, por conseguinte, armar que os modos de funcionamento deste latch s ao id enticos ao do latch n ao controlado quando a entrada de Enable est a activa, e que mant em o estado quando ela est a inactiva. importante chamar a aten E ca o de novo para o que se passa com as vari aveis S e R activas. Neste caso, se EN H estiver a H, as saidas Q H e Q L passam a H como se pode observar na u ltima linha da Tabela 12.5. Mas quando EN H passa a L, mantendo-se as vari aveis R e S a H, ocorre a ` entrada do latch S R simples formado pelos dois ANDs da direita aquilo para que j a tinhamos chamado a aten ca o, isto e, a passagem simult anea de L para H das suas

12.2. LATCHES CONTROLADOS

207

co es e imposs vel, como se duas linhas de entrada, S L e R L. Nestas condi viu, prever a reac ca o do circuito. Na Figura 12.11 ilustra-se, com um diagrama temporal, o funcionamento do latch SR controlado.
S H

R H

EN H Q H

Q H

Reset

Reset

Sa das = HH

Set Manuten c ao

Manuten c ao

Manuten c ao

Manuten c ao

Manuten c ao

Figura 12.11: Diagrama temporal com o funcionamento de um latch SR controlado, onde se identicam os estados pelos quais o circuito passa Na Figura 12.12 representa-se o s mbolo de um latch SR controlado com entradas activas a H, de acordo com a norma IEC 617-12,
1S 1R C1 S mbolo de um latch SR controlado

Figura 12.12: S mbolo IEC de um latch SR controlado O qualicador de entrada C1 e um exemplo de depend encia de Controlo C, prevista na norma IEC 60617-12, que no essencial arma que todos os qualicadores de entrada ou de sa da com o s mbolo m apenas produzem a sua fun ca o normal quando Cm est a activa. Muitas vezes eu til dispor, nos latches SR, de entradas suplementares que permitam coloc a-los num dos seus dois estados poss veis, independentemente dos n veis de tens ao nas entradas de Set e de Reset. Com essas entradas suplementares podemos, ent ao, denir um estado incial para o latch, antes do seu funcionamento normal. Com efeito, n ao podemos prever o estado de um latch SR ali as, de qualquer latch ou ip-op (no cap tulo seguinte) quando inicialmente o ligamos a ` tens ao de alimenta ca o, podendo a sa da Q assumir o n vel H ou o n vel L, e a sa da Q o seu complemento. Da a necessidade dessas outras entradas. As entradas suplementares, que recebem o nome de Preset (a que leva o latch
Estado inicial Qualicadores de entrada C1 Depend encia de Controlo (C)

Manuten c ao

Set

Set

Preset e Clear

208

CAP ITULO 12. LATCHES

Entradas ass ncronas ou directas S mbolo de um latch SR controlado com Preset e Clear

ao para o estado Q H = H) e de Clear (a que leva o latch para Q H = L), s entradas ass ncronas ou directas, na medida em que o efeito das suas activa co es e imediato, n ao dependendo das entradas S ou R. Na Figura 12.13(a) apresenta-se o logigrama e na parte (b) o s mbolo IEC de um latch SR controlado com entradas ass ncronas activas a L.
PR L S H
& &

Q H 1S 1R

EN H
& &

C1 S R (b) CLR L (a)

Q L

R H

Figura 12.13: (a) Latch SR controlado ao qual se acrescentaram entradas ass ncronas de Preset e de Clear activas a L; (b) S mbolo IEC do latch O funcionamento deste latch e, no essencial, o seguinte: (i) quando as entradas de Preset e de Clear est ao inactivas, o latch comporta-se como um latch SR controlado normal; (ii) quando a entrada de Preset est a activa e a de Clear inactiva, com a entrada de Enable inactiva, o latch e colocado no estado de Set (Q H = H); (iii) quando a entrada de Clear est a activa e a de Preset inactiva, com a entrada de Enable inactiva, o latch e colocado no estado de Reset (Q H = = L); e (iv) n ao devemos activar simultaneamente as entradas de Preset e de Clear (porqu e?). De notar, no s mbolo IEC da Figura 12.13(b), a designa ca o S e R dada aos qualicadores das entradas ass ncronas, que se referem, respectivamente, a `s entradas Preset e Clear. Esses qualicadores denotam os comportamentos ass ncronos dessas entradas, assim se distinguindo das entradas com qualicadores 1S e 1R que dependem do qualicador de entrada C1 (entrada de Controlo), e que correspondem a `s entradas de Set e de Reset normais deste latch. Os latches SR controlados s ao circuitos largamente usados, mas n ao constituem os u nicos tipos de latch existentes. Um outro tipo e um latch com apenas uma entrada sincronizada e que memoriza o n vel de tens ao presente nessa entrada em dado momento. Suponhamos que, num latch SR controlado, obrigamos a entrada R a ser igual a nega ` ca o da entrada S. Neste caso, na tabela de verdade f sica do latch SR restariam apenas tr es linhas, como se sugere na Tabela 12.6. Tudo se passa como se a fun ca o de sa da Q seguisse o n vel de tens ao na vari avel claro que a vers de entrada S . E ao ass ncrona deste latch tem pouco interesse pr atico. Com efeito, o valor de Q ser a, nesse caso, sempre igual ao de S e, portanto, o efeito de mem oria do circuito n ao existe. Tal n ao e o caso na vers ao de latch controlado que acab amos de estudar, uma vez que a a fun ca o a inactiva. de mem oria e garantida quando a linha EN H est

12.2. LATCHES CONTROLADOS

209

Tabela 12.6: Tabela de verdade f sica do latch SR controlado, modicada por forma a obrigar a entrada R a ser sempre igual a ` nega c ao da entrada S
EN H L H H S H L H R H H L Q H(t+t) Q H(t) L H Q L(t+t) Q L(t) H L

O circuito modicado est a representado na Figura 12.14.


D H
&

S EN H
&

Q H Q L

R
1

Figura 12.14: Logigrama de um latch D controlado Note-se que modic amos a designa ca o da entrada S, substituindo-a por D. Esta designa ca o prov em da palavra inglesa Data (dados), uma vez que este circuito e muito usado para memorizar dados. Este tipo de latch e conhecido por latch D controlado, e tem o mesmo comportamento em rela ca o a ` entrada de Enable que o latch SR controlado. Uma arquitectura alternativa para o latch D controlado vem representada na Figura 12.15, e e f acil a constata c ao de que o funcionamento do circuito n ao se altera.
D H
&

Latch D controlado

S R
&

Q H Q L

EN H

Figura 12.15: Logigrama alternativo para um latch D controlado Neste tipo de latch, como vimos, quando a vari avel EN est a activa a fun ca o Q usual designar este tipo de funcionamento reproduz a vari avel de entrada D. E por funcionamento transparente. A tabela de verdade f sica, ser a, portanto, a que se apresenta na Tabela 12.7, admitindo que as vari aveis D e EN s ao activas a H.

Funcionamento transparente

210

CAP ITULO 12. LATCHES

Tabela 12.7: Tabela de verdade f sica de um latch D controlado


EN H L H H D H L H Q H(t+t) Q H(t) L H Q L(t+t) Q L(t) H L Modo Manuten ca o Copia Copia

Modos de funcionamento Modo de manuten ca o

Desta tabela podemos deduzir os seguintes modos de funcionamento para este latch: o modo de manuten c ao do estado do latch, com a entrada de Enable inactiva, em que o seu estado se mant em e, por conseguinte, se tem Q H(t+t) = = Q H(t) ; do mesmo modo, Q L(t+t) = Q L(t); e o modo de c opia, com Enable activa, em que vem copiado para a sa da Q H o n vel de tens ao que se encontrar aplicado a ` entrada D H. A representa ca o do latch D controlado, de acordo com a norma IEC 60617-12, est a ilustrada na Figura 12.16.
1D C1

Modo de c opia

S mbolo do latch D controlado

Figura 12.16: S mbolo IEC para um latch D controlado


Qualicador de entrada D Entrada de dados

O qualicador de entrada D siginica, na norma IEC 60617-12, uma entrada de dados.

12.3

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec ca o 5.2.

12.4

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. 12.1 Porque e que o circuito da Figura 12.1, na p agina 199, e sequencial? Como e que ele se diferencia de um circuito combinat orio? 12.2 Admitindo que o circuito da Figura 12.1, na p agina 199, e sequencial, em que medida e que o seu comportamento depende n ao s o dos valores nas entradas em cada momento, mas tamb em do comportamento passado

12.4. EXERC ICIOS

211

dessas mesmas entradas, como resulta da deni ca o de circuito sequencial dada no in cio deste cap tulo? E qu ao longe no passado e que temos que procurar para assegurar o comportamento presente do circuito? 12.3 Para cada um dos circuitos representados na Figura 12.17, desenhe um diagrama temporal semelhante ao da Figura 12.2 e responda a `s seguintes quest oes:
X H
&

S H

X H

&

S H

(a)

(b)

X H

S H

X H

=1

S H

(c)

(d)

Figura 12.17: Exemplos de 4 circuitos a) b) trata-se de um circuito combinat orio ou sequencial? poder a servir como elemento de mem oria elementar?

12.4 Justique o andamento do diagrama temporal da Figura 12.4, na p agina 201. 12.5 Para cada um dos circuitos representados na Figura 12.17, responda, justicando, se se trata de um latch. 12.6 Certique-se que o circuito da Figura 12.5, na p agina 202, possui o mesmo comportamento do da Figura 12.3, na p agina 200. () 12.7 Na Tabela 12.3 da p agina 203, identicar com setas adequadas a transi ca o ou transi co es entre linhas da tabela que correspondem a ` situa ca o em que se tem S H = R H = H, com Q H = L e Q L = L, e em que se provoca a transi ca o simult anea para L de S H e R H, admitindo que os tempos de propaga ca o das portas s ao diferentes. O que podemos deduzir em rela ca o ao estado nal do latch? () 12.8 Completar o diagrama temporal da Figura 12.18, representativo do funcionamento de um latch SR em determminadas condi co es de n veis de tens ao nas entradas, admitindo que incialmente Q H = H e Q L = L, e que o tempo de propaga ca o das duas portas e de 10 ns. Como se comporta o latch nestas condi c oes? 12.9 Complete o diagrama temporal da Figura 12.19, que representa o funcionamento de um latch S R em determminadas condi co es de n veis de tens ao nas entradas. Identique ao longo do diagrama cada um dos estados por que passa o latch, de forma semelhante a ` que se apresenta na Figura 12.11, na p agina 207. 12.10 Desenhe o s mbolo IEC dos latches das Figuras 12.6, na p agina 203, e 12.7, na p agina 204.

212

CAP ITULO 12. LATCHES

S H

R H Q H

Q L 0 50 100 150 140 200 t (ns)

Figura 12.18: Diagrama temporal incompleto que descreve o comportamento de um latch SR em determinadas condi co es de n veis de tens ao nas entradas
S L

R L Q H

Q L

Figura 12.19: Diagrama temporal incompleto que descreve o comportamento de co es de n veis de tens ao nas entradas um latch S R em determinadas condi 12.11 Para o circuito da Figura 12.20(a), complete o correspondente diagrama temporal da Figura 12.20(b). Desenhe ainda poss veis logigramas para o latch SR.
A H

B H A H B H C H 1D C1 Q1 H (a) Q2 H (b) Q1 H S R Q2 H C H

Figura 12.20: (a) Circuito do Exerc cio 12.11; (b) diagrama temporal incompleto para o circuito

12.4. EXERC ICIOS

213

() 12.12 Considere o latch SR controlado da Figura 12.13, na p agina 208, com entradas ass ncronas de Preset e de Clear activas a L. Mostre que o comportamento deste latch e o que se explicou no texto que acompanha a gura. () 12.13 Considere a modica ca o da Figura 12.21, que transforma um latch SR controlado num latch JK controlado. A ideia por detr as desta modica ca o e tentar obviar aos problemas levantados pelos latches SR controlados, apontados na p agina 206 e nos Exerc cios 12.7 e 12.8 (diculdade em prever o estado nal do latch ou o latch entrar em oscila ca o quando as entradas est ao todas a H e se muda a entrada de Enable de H para L). Ser a que o latch JK controlado resolve esses problemas? Analise o seu funcionamento.
&

Latch JK controlado

J H

&

Q H

EN H
& &

K H

Q L

Figura 12.21: Latch JK controlado, obtido por modica ca o de um latch SR controlado 12.14 O logigrama e o s mbolo IEC da Figura 12.22 representam um latch SR com preponder ancia do Set. Analise o funcionamento do circuito explicando o que se entende por preponder ancia do Set, e estabele ca uma tabela de verdade f sica para o latch. Como poderia modicar o logigrama por forma a obter um latch SR com preponder ancia do Reset? E qual ser a o seu s mbolo IEC?
S H
1

Q L S1 1

&

R Q H

R H (a)

(b)

Figura 12.22: (a) Logigrama de um latch SR com preponder ancia do Set; (b) s mbolo IEC correspondente 12.15 Desenhe um circuito que, quando actuado por um bot ao, muda de estado de cada vez que o bot ao e sucessivamente activado e desactivado. 12.16 Considere o circuito da Figura 12.23, que corresponde a um latch SR modicado, e complete o diagrama temporal nele inclu do.

214

CAP ITULO 12. LATCHES

1 S H

&

&

X H

Q H

1 R H

&

(a)

S H

R H

X H Q H (b)

Figura 12.23: (a) Logigrama do latch SR modicado do Exerc cio 12.16; e (b) diagrama temporal a completar 12.17 Dado o circuito da Figura 12.24(a), complete o correspondente diagrama temporal, na Figura 12.24(b). 12.18 O fabricante de um latch SR controlado como o da Figura 12.10, na das Q H e p agina 206, garante que os tempos de propaga ca o tpHL nas sa ao maiores do que os tempos tpLH correspondentes. Construa um Q L s diagrama temporal que prove ou n ao que o fabricante tem raz ao.

12.4. EXERC ICIOS

215

A H B H S R Q1 H

1D C1

Q2 H

(a)

A H

B H Q1 H

Q2 H (b)

Figura 12.24: (a) Circuito do Exerc cio 12.17; e (b) diagrama temporal a completar

216

CAP ITULO 12. LATCHES

Cap tulo 13

Flip-ops
13.1 Flip-ops Master-slave

Em muitas aplica co es e inconveniente o uso de elementos de mem oria com funcionamento transparente. Seria interessante dispor de elementos em que a mudan ca de estado, a ocorrer, se d e num momento bem determinado e sob o controlo do utilizador, independentemente do momento em que as entradas que provocam a altera ca o se estabelecem. A todos os elementos de mem oria em que n ao existe transpar encia e em que as eventuais mudan cas de estado ocorrem em ancos de uma linha de sincroniza ca o, chamaremos ip-ops. A linha de sincroniza ca o e usualmente designada por entrada de rel ogio, a ` qual s ao aplicados impulsos de rel ogio. Conv em referir aqui que, noutros textos, se chamam indistintamente ip-ops aos elementos que aqui designamos por ip-ops e aos latches. Em qualquer caso, trata-se de uma conven c ao e nada de fundamental est a em jogo nesta contradi ca o. Consideremos, ent ao, o ip-op com o circuito da Figura 13.1.
S H R H CP H 1S 1R C1
1

Flip-op Entrada de rel ogio Impulsos de rel ogio

1S 1R C1

Q H Q L

CP L

Figura 13.1: Logigrama de um ip-op SR master-slave que comuta nos ancos descendentes Este circuito pode ser redesenhado para mostrar a estrutura completa com portas l ogicas, como mostra a Figura 13.2. O funcionamento do circuito pode ser seguido com alguma facilidade. Assim, com a vari avel de entrada CP desactivada, o latch de entrada est a num estado 217
Funcionamento de um ip-op SR master-slave

218
S H
& &

CAP ITULO 13. FLIP-FLOPS

&

&

Q H

CP H
& & & &

Q L

R H
1

CP L

Figura 13.2: Logigrama de um ip-op SR master-slave que comuta nos ancos descendentes, em que se mostram todas as portas l ogicas envolvidas qualquer e mant em o segundo latch no mesmo estado, uma vez que CP L est a ao n vel H e permite que as suas entradas o controlem. Quando CP H passa a H, o segundo latch ca isolado, mantendo o estado a no n vel L. O primeiro latch, pelo contr ario, anterior, uma vez que CP L est est a agora aberto a ` inu encia das entradas e assume o estado que estas lhe imp oem. Quando CP H volta a L, temos o primeiro latch de novo isolado das entradas e ligado ao segundo, inuenciando-o e fazendo-o assumir o estado que as entradas lhe impuseram. Portanto, globalmente, o ip-op ca sens vel aos n veis nas entradas durante o tempo em que a vari avel CP est a activa, mas as suas sa das n ao reagem a ca. A reac ca o eventuais condi co es nas linhas S H e R H que provoquem mudan das sa das surge apenas ap os a passagem da vari avel CP de activa para inactiva, isto e, no anco descendente da linha CP H (o outro anco e designado por anco ascendente). O tipo de arquitectura que acab amos de descrever para o ip-op das Figuras 13.1 e 13.2, e que assenta na exist encia de um latch de entrada e noutro de sa da, denomina-se master-slave, sendo o primeiro latch o master e o segundo o slave. O ip-op em quest ao designa-se, ent ao, e de forma simplicada, por ip-op SR master-slave. Por outro lado, este tipo de ip-op em particular comuta (ou muda de estado) nos ancos descendentes dos impulsos de rel ogio. Diz-se, ent ao, que os ancos descendentes dos sinais de rel ogio s ao os ancos de comuta c ao do ip-op. Naturalmente, existem outros ip-ops que comutam nos ancos ascendentes dos impulsos de rel ogio. A Tabela 13.1 descreve o funcionamento de um ip-op SR master-slave pela sua tabela de verdade f sica. Desta tabela podemos deduzir os seguintes modos de funcionamento para este ip-op: o modo de manuten c ao do estado do ip-op, quando n ao existe anco de comuta ca o na entrada de rel ogio ou, existindo anco, as entradas S e R

Flanco descendente e ascendente

Flip-op master-slave Flip-op SR master-slave Comuta ca o nos ancos descendentes Flanco de comuta ca o

Tabela de verdade f sica

Modos de funcionamento Modo de manuten ca o

13.1. FLIP-FLOPS MASTER-SLAVE

219

Tabela 13.1: Tabela de verdade f sica de um ip-op SR master-slave que comuta nos ancos descendentes

S H(t) L L H H

R H(t) L H L H

CP H

Q H(t+1) Q H (t) L H ? Q H (t)

Q H(t+1) Q H(t) H L ? Q H(t) Q H(t) Q H(t)

Modo Manuten ca o Reset Set Manuten ca o Manuten ca o Manuten ca o

L H

Q H (t) Q H (t)

est ao inactivas, em que o seu estado se mant em e, por conseguinte, se tem Q H(t+1) = Q H(t) ; do mesmo modo, Q L(t+1) = = Q L(t) ; o modo de Reset do ip-op, quando existe anco de comuta ca o e R est a activo e S inactivo, em que se faz o Reset da sa da Q H, o que tem como consequ encia que Q H(t+1) = L e, por conseguinte, Q L(t+1) = H; o modo de Set do ip-op, quando existe anco de comuta ca o e S est a activo e R inactivo, em que se faz o Set da sa da Q H, o que tem como consequ encia que Q H(t+1) = H e, por conseguinte, Q L(t+1) = L; e um modo de funcionamento sem nenhuma designa ca o especial, quando existe anco de comuta ca o mas S e R est ao ambas activas, em que n ao se pode prever o estado nal do ip-op; neste modo de funcionamento n ao se garante que as sa das sejam complementares. O facto de a reac ca o do ip-op, no caso descrito na quarta linha da tabela, n ao ser previs vel e resultante de uma situa ca o semelhante, j a analisada para o latch SR controlado. De facto, nas circunst ancias que imediatamente antecedem as que s ao referidas nessa linha da tabela, existe actividade simult anea das vari aveis S e R e um n vel H no impulso aplicado a ` linha CP H. Quando a linha CP H vem a L, o latch master tem um comportamento que depende dos tempos de propaga ca o das suas portas de entrada, ou seja, um comportamento que n ao podemos prever. E sendo o seu comportamento imprevis vel, o do slave tamb em o e quando aparece o anco de comuta ca o. Logo, a reac ca o global do ip-op e imprevis vel. Este facto e sucientemente desagrad avel para que se tenha procurado obvi a-lo. Nessas circunst ancias surgiu um novo tipo de ip-op, o ip-op JK master-slave, com um comportamento semelhante ao do ip-op SR master-slave mas em que se imp oe que, no caso das duas entradas estarem activas, e perante um anco de comuta ca o num impulso de rel ogio, o ip-op altere o seu estado. Por outras palavras, redeniu-se a correspondente linha da Tabela 13.1. O funcionamento de um ip-op JK master-slave est a, assim, descrito pela tabela de verdade f sica da Tabela 13.2, de onde se destacam os mesmo modos

A designa ca o Q H(t+1) identica o n vel de tens ao na sa da Q H de um ip-op no instante t + 1 que se segue a um anco de comuta c ao (comparar com a designa ca o Q H(t+t) utilizada nos latches para identicar o n vel de tens ao na sa da, decorrido que e o seu tempo de propaga ca o) Modo de Reset Modo de Set

Flip-op JK master-slave

Tabela de verdade f sica

220

CAP ITULO 13. FLIP-FLOPS

Tabela 13.2: Tabela de verdade f sica de um ip-op JK master-slave que comuta nos ancos descendentes
J H(t) L L H H K H(t) L H L H L H CP H Q H(t+1) Q H(t) L H Q H(t) Q H(t) Q H(t) Q H(t) Q H(t+1) Q H (t) H L Q H (t) Q H (t) Q H (t) Q H (t) Modo Manuten ca o Reset Set Comuta ca o Manuten ca o Manuten ca o Manuten ca o

Modo de comuta c ao

de funcionamento do ip-op SR master-slave, e ainda um modo de comuta c ao em que os n veis de tens ao nas sa das mudam (comutam). Na Figura 13.3 ilustra-se a arquitectura de um ip-op JK master-slave.

J H

&

&

&

Q H

&

Q H

CP H
& & & &

K H

Q L
1

Q L

CP L

Figura 13.3: Logigrama de um ip-op JK master-slave que comuta nos ancos descendentes necess E ario, desde j a, chamar a aten ca o para certas particularidades que o funcionamento deste circuito apresenta.
Funcionamento de um ip-op JK master-slave

Suponhamos, assim, que Q H est a no n vel H e que CP H passa de L para H. Se as vari aveis J e K estiverem inactivas, nada se altera. Mas analise-se, agora, o que se passa quando a vari avel de entrada K passa a estar activa (K H = H), mantendo-se CP activa. Ent ao, o primeiro latch vel H, passa, por ac ca o de K , ao muda de estado, isto e, Q H, que estava ao n n vel L. Repare-se, agora, que futuras altera co es nos n veis de tens ao aplicados a `s vari aveis J e K j a n ao se repercutir ao no funcionamento do latch. De facto, se K deixar de estar activa, as entradas do master deixar ao tamb em de estar activas, o que, de qualquer forma, n ao altera o novo n vel a ` sa da do latch. Mais ainda, repare-se que, como a fun ca o de sa da Q permanece activa, a linha a ao n vel L, o que bloqueia o AND onde entra a vari avel J , mantendo Q L est a entrada superior do master inactiva . Assim, mesmo que a vari avel J seja

13.1. FLIP-FLOPS MASTER-SLAVE

221

activada, isso n ao se reectir a numa mudan ca de estado do master. Portanto, criou-se uma situa ca o em que o ip-op mudar a irremediavelmente de estado quando CP H voltar ao n vel L. Esta an alise mostra, assim, que: vel L, o primeiro latch n ao vem inuenciado pelas ena) com CP H ao n tradas; vel H, o primeiro latch ca receptivo a `s entradas e o b) com CP H ao n segundo isolado do primeiro. Se, durante esse intervalo de tempo, alguma vez as entradas forem tais que motivem a altera ca o de estado do latch master, mesmo que tal congura ca o n ao seja a u ltima antes de CP H passar a L, o ip-op mudar a de estado logo que CP H volte a L; c) quando CP H passa de H a L, isola-se novamente o master das entradas, enquanto o slave copia o estado do master; isto d a-se sempre neste tipo de ip-ops e e, por vezes, fonte de erros de utiliza ca o quando n ao levado em conta. Recomenda-se, por isso, muita aten ca o a esta caracter stica. Este tipo de comportamento tem o nome de ones catching, que se justica pelo facto de poder ser usado como detector de 1s. A t tulo de exemplo mostra-se, na Figura 13.4, um diagrama temporal com uma evolu ca o poss vel para as formas de onda nas entradas de um ip-op JK master-slave. De notar que o impulso provocado em K H provoca o Reset do master, Reset este que se repercute nas sa das do ip-op assim que aparece o pr oximo anco descendente em CP . E mais impulsos que ocorressem em K H com a entrada CP activa apenas serviriam para conrmar o estado de Reset do master e do ip-op. Os ip-ops deste tipo tem o s mbolo IEC da Figura 13.5. Aqui, o 1 que antecede o J e o K e que se segue ao C nos qualicadores de entrada 1J, 1K e C1, indica que existe um efeito de disparo pela entrada C1 (depend encia de Controlo, C), que condiciona a ac ca o das entradas 1J e 1K (os n veis nestas entradas apenas s ao levados em considera ca o pelo ip-op enquanto C1 estiver activada, a H). Por outro lado, como sabemos j a, a ac ca o destas duas entradas apenas tem efeito nas sa das do ip-op depois de o master ter transferido para o slave essa ac ca o (manter o estado, fazer o Reset da sa da Q, etc.), isto e, nos ancos descendentes dos impulsos de rel ogio. A indica ca o deste modo de funcionamento vem dada pelo s mbolo de atraso colocado junto a `s sa das (qualicador de sa da ). No caso do ip-op da Figura 13.5, a entrada de rel ogio vem activada (a H) depois de ocorrer um anco ascendente num impulso de rel ogio, pelo que no anco seguinte, o anco descendente, as sa das reectem o funcionamento que resulta dos n veis aplicados a `s entradas J e K enquanto C1 est a activada. O comportamento ones catching n ao e, em si, representado no s mbolo. Muitas vezes e u til dispor nos ip-ops, tal como nos latches, de entradas suplementares que permitam coloc a-los num dos seus dois estados poss veis, independentemente dos n veis de tens ao nas entradas sincronizadas por CP . Essas entradas suplementares recebem, como vimos, o nome de Preset (a que leva o ip-op para o estado Q H = H) e de Clear (a que leva o dispositivo para
Ones catching

S mbolo do ip-op JK master-slave Qualicadores de entrada 1J, 1K e C1 Depend encia de Controlo (C)

S mbolo de atraso Qualicador de sa da

Preset e Clear

222

CAP ITULO 13. FLIP-FLOPS

J H

K H

CP H Q H

Q L

Q H

Q L

Manuten c ao Reset Manuten c ao

Manuten c ao

Manuten c ao

Manuten c ao

Master

Manuten c ao

Copia master Sa das = LH

Slave

Figura 13.4: Diagrama temporal com o comportamento de um ip-op JK master-slave que ilustra o fen omeno de ones catching

1J C1 1K

Figura 13.5: S mbolo IEC de um ip-op JK master-slave que comuta nos ancos descendentes dos impulsos de rel ogio ao designadas por entradas ass ncronas ou directas. Neste sentido, Q H = L), e s essas entradas distinguem-se das outras, aquelas que estud amos anteriormente, que se designam por entradas s ncronas. Na Figura 13.6 ilustra-se o logigrama de um ip-op JK master-slave com entradas ass ncronas de Set (Preset) e de Reset (Clear) activas a L. de notar que os E na Figura 13.7 encontra-se o simbolo IEC desse ip-op. E qualicadores de entrada R e S, que se referem, respectivamente, a `s entradas Clear e Preset, denotam os seus comportamentos ass ncronos, n ao dependentes do qualicador de entrada C1.

Entradas ass ncronas ou directas Entradas s ncronas Entradas ass ncronas de Set (S) e de Reset (R) Qualicadores de entrada S e R

Copia master Sa das = LH

Copia master Sa das = HL

Copia master Sa das = HL

Manuten c ao

Manuten c ao

Set

Troca

Troca

13.1. FLIP-FLOPS MASTER-SLAVE


PR L
& &

223

Q H

&

&

J H CP H K H
& & & &

Q H

Q L
1

Q L

CP L

CL L

Figura 13.6: Logigrama de um ip-op JK master-slave com entradas ass ncronas de Preset e de Clear activas a L e que comuta nos ancos descendentes dos impulsos de rel ogio
1J C1 1K S R

Figura 13.7: S mbolo IEC de um ip-op JK master-slave com entradas ass ncronas de Preset e de Clear activas a L e que comuta nos ancos descendentes dos impulsos de rel ogio Da mesma forma que aconteceu anteriormente, e poss vel denir um ip-op D master-slave, com uma entrada s ncrona D. Basta considerar um ip-op SR master-slave em que a entrada R e feita sempre igual a ` nega c ao da entrada S, como j a foi feito no caso dos latches. O s mbolo IEC de um tal ip-op e o que se representa na Figura 13.8. Notemos que este ip-op comuta nos ancos ascendentes. o que se traduz na inclus ao de um tri angulo na entrada de rel ogio, orientado no sentido do uxo dos sinais.
1D C1 S R

Flip-op D master-slave

S mbolo do ip-op D master-slave

Figura 13.8: S mbolo IEC de um ip-op D master-slave com entradas ass ncronas de Preset e de Clear activas a L e que comuta nos ancos ascendentes dos impulsos de rel ogio A inclus ao deste tri angulo tem o seguinte signicado: quando a entrada de rel ogio est a inactiva (a H), os n veis de tens ao na entrada s ncrona, D, n ao afectam o funcionamento do ip-op; quando a entrada de rel ogio passa a car

224

CAP ITULO 13. FLIP-FLOPS

activa (porque foi gerado um anco descendente que a levou ao n vel L), o master ca receptivo aos n veis na entrada s ncrona; e aquando do anco seguinte (ascendente) os n veis do master s ao transmitidos ao slave e aparecem na sa da do ip-op. Logo, este ip-op comuta nos ancos ascendentes dos impulsos de rel ogio, ao contr ario do que sucedia com os ip-ops master-slave anteriores.

13.2

Flip-ops Edge-triggered

Flip-op edge-triggered

Os ip-ops master-slave que acab amos de analisar n ao cobrem todos os tipos de comportamento poss vel em rela ca o a ` entrada de rel ogio. Um outro tipo de reac ca o e a que os ip-ops usualmente chamados edge-triggered apresentam. Nestes ip-ops, a reac ca o, a dar-se, ocorre num determinado anco do impulso de relogio e e independente dos n veis nas entradas, excepto num curto intervalo de tempo em torno desse anco. Examinemos o ip-op D edge-triggered da Figura 13.9. (Nota: A descri ca o seguinte est a inclu da para satisfazer a curiosidade do estudante. A estrutura interna dos edge-triggered n ao faz parte da mat eria da disciplina; por em, o uso deste tipo de ip-ops, faz!)
1

Flip-op D edge-triggered

D H

&

&

&

Q H

CP H
& &

Q L

&

Figura 13.9: Flip-op D edge-triggered que comuta nos ancos ascendentes dos impulsos de rel ogio
Funcionamento de um ip-op D edge-triggered

O funcionamento deste circuito e j a um pouco mais dif cil de seguir. Para come car, e conveniente encar a-lo como sendo constitu do por 3 latches SR simples, conforme se indica na gura. Repare-se, agora, no seguinte: enquanto a linha CP H se mant em em L, as sa das dos ANDs 2 e 3 est ao em H e, por consequ encia, o latch de sa da manter-se- a no estado em que se encontrava anteriormente, independentemente da entrada D. Isto e, o ip-op mostra na sa da o valor anteriormente memorizado.

13.2. FLIP-FLOPS EDGE-TRIGGERED

225

Esta entrada D tem, por outro lado, inu encia directa nas sa das dos ANDs 1 e 4. Com efeito, estando as sa das de 2 e 3 em H, a sa da do AND 1 e igual a D, enquanto que o AND 4 assume o n vel oposto. As varia co es de n vel em D reectem-se nestes dois pontos mas n ao avan cam mais enquanto os circuitos 2 e 3 estiverem bloqueados pela inactividade da vari avel CP . Portanto o sinal a a aguentar os dois latches da primeira camada. CP H est Vamos agora supor, para a continua ca o da nossa an alise, que D H assume o valor H. A an alise podia ser identicamente feita para D H em L. Teremos, nesse caso, que a sa da do AND 1 assume o n vel H e a do AND 4 o n vel L. Se agora CP passar a estar activa, isto e, se CP H vier a H, verica-se o seguinte: as entradas do AND 2 est ao todas com o valor H, tal como as do AND 3 com excep ca o, nesta u ltima, da entrada que prov em da sa da do AND 4, que est a em L. Ent ao, a sa da do AND 2 passar a a L, originando um estado est avel no latch superior. A sa da do AND 3 continuar a a H, mantendo um estado est avel no latch inferior. O latch de sa da assume o estado H, isto e, copia o valor da linha D H. A partir de agora as altera co es na entrada D n ao afectam o circuito. De facto, estando a sa da do AND 2 a L, cam impostas a H as sa das dos ANDs 1 e 3 impossibilitando, por este meio, qualquer inu encia de D no latch de sa da. Repare-se que, quando o latch superior da primeira camada reagiu, bloqueou qualquer mudan ca no latch inferior a partir desse momento e at e CP H voltar a L e retomar o n vel H. das dos NANDs 2 e 3 Quando a linha CP H volta a assumir o valor L, as sa voltam a H e retoma-se a situa ca o inicial. Assim, nesta transi ca o, n ao ocorre qualquer mudan ca de estado. Na Figura 13.10 apresenta-se um diagrama temporal que ilustra o comportamento do ip-op D edge-triggered da Figura 13.9. Recomenda-se uma observa ca o atenta desse diagrama em conjun ca o com a logigrama do ip-op. a inactiva. Assume-se que, inicialmente, a linha Q H est Recapitulando: no ip-op D edge-triggered da Figura 13.9 a sa da Q H assume a uma transi ca o L H na entrada CP H, o estado da entrada D H quando se d a e mant em o estado, independentemente do n vel em D H, enquanto CP H est a H, a L, ou ainda durante as transi co es H L nessa linha. O ip-op s o reage, portanto, quando na entrada CP H ocorrem ancos ascendentes dos impulsos de rel ogio. Diz-se, por isso, que este ip-op comuta nos ancos ascendentes desses impulsos. Na Tabela 13.3 descreve-se o funcionamento deste ip-op atrav es da sua tabela de verdade f sica. Da tabela deduz-se existirem os seguintes modos de funcionamento para este ip-op: o modo de manuten c ao do estado, quando n ao existe anco de comuta ca o, em que o estado do ip-op se mant em e, por conseguinte, se tem Q H(t+1) = = Q H(t); do mesmo modo, Q L(t+1) = Q L(t); e o modo de c opia do ip-op, quando existe anco de comuta ca o, em que se copia para a sa da Q H o n vel de tens ao que se encontrar aplicado a ` entrada D H.
Comuta ca o nos ancos ascendentes Tabela de verdade f sica de um ip-op D edge-triggered Modos de funcionamento Modo de manuten ca o

Modo de c opia

226

CAP ITULO 13. FLIP-FLOPS

CP H

D H

AND1 H

AND2 H

AND3 H

AND4 H Q H

Q L

Figura 13.10: Diagrama temporal com o funcionamento do ip-op D edge-triggered da Figura 13.9 Tabela 13.3: Tabela de verdade f sica de um ip-op D edge-triggered que comuta nos ancos ascendentes
D H(t) L H L H CP H Q H(t+1) L H Q H(t) Q H(t) Q H(t) Q H(t+1) H L Q H (t) Q H (t) Q H (t) Modo C opia C opia Manuten ca o Manuten ca o Manuten ca o

Como e o bvio existem tamb em outros tipos de ip-ops edge-triggered. S ao comuns os ip-ops JK. Na Figura 13.11 ilustra-se a representa c ao deste tipo de ip-ops de acordo com a norma IEC 60617-12.
S mbolo do ip-op D edge-triggered S mbolo do ip-op JK edge-triggered Qualicadores de entrada e

Na parte a) da gura representa-se um ip-op D edge-triggered e na parte b) um ip-op JK, em ambos os casos que comutam nos ancos descendentes dos impulsos de rel ogio. ogio, O tri angulo interior ao s mbolo (qualicador de entrada ), na linha de rel indica que o ip-op e do tipo edge-triggered. A presen ca de um tri angulo exterior a ` entrada de rel ogio do ip-op, orientado no sentido do uxo dos sinais (qualicador de entrada ), indica que o ip-op comuta nos ancos descendentes. Se o tri angulo estiver ausente, o ip-op comuta nos ancos ascendentes do sinal de rel ogio.

13.3. TEMPORIZAC OES NOS FLIP-FLOPS

227

1D C1 S R (a)

1J C1 1K S R (b)

Figura 13.11: (a) S mbolo IEC de um ip-op D edge-triggered com entradas ass ncronas de Preset e de Clear e que comuta nos ancos descendentes dos impulsos de rel ogio; (b) s mbolo id entico para um ip-op JK edge-triggered Em ambos os casos, representam-se nos s mbolos entradas ass ncronas de Set (Preset) e de Reset (Clear).

Entradas ass ncronas de Set (S) e de Reset (R)

13.3

Temporiza c oes nos Flip-ops

Os ip-ops s ao caracterizados, do ponto de vista temporal, por v arios par ametros. Para come car, o tempo de propaga ca o. O tempo de propaga c ao (ou tempo de atraso) e, denido de forma geral, como o intervalo de tempo que decorre entre o instante em que ocorre o anco activo do sinal de rel ogio (anco de comuta ca o) representado por tpd . e o instante em que as sa das v eem actualizadas. E O tempo de propaga ca o deve ser distinguido consoante ocorrer um anco ascendente ou um anco descendente numa sa da de um ip-op, em resposta ao aparecimento de um anco de comuta ca o. Se, por exemplo, na sa da Q ocorrer uma transi ca o do n vel L para o n vel H, o tempo de propaga ca o designa-se por ario, designa-se por tpHL , sendo que tpLH e tpHL podem ter tpLH . No caso contr valores diferentes. Por outro lado, os tempos de propaga ca o tpLH e tpHL aplicam-se igualmente a ` da Q. Dos sa da Q e, em geral, possuem um valor diferente dos valores para a sa 4 valores poss veis, a Figura 13.12 apenas representa dois deles.
Tempo de propaga ca o (atraso) de um ip-op tpd

tpLH e tpHL

CP H Q H

50%

50%

tpLH Q H tpHL
50%

Figura 13.12: Tempos de propaga ca o de um ip-op

228

CAP ITULO 13. FLIP-FLOPS

No momento em que o rel ogio muda de n vel, as entradas devem estar est aveis, por forma a evitar uma situa ca o em que a reac ca o do ip-op que dependente de uma corrida entre sinais dentro do circuito e seja, portanto, n ao previs vel. Isso e evitado, no caso dos ip-ops edge-triggered, evitando mudan cas nas entradas num intervalo de tempo que envolve o anco de comuta c ao. O intervalo de tempo que decorre entre o instante em que as entradas t em de estar est aveis e o momento em que ocorre o anco de comuta ca o denomina-se tempo de prepara c ao ou set-up time, e representa-se por tsu . O intervalo de tempo que medeia entre o instante em que ocorre o anco de comuta ca o e o momento em que as entradas j a podem variar e o tempo de manuten c ao ou hold time e representa-se por th . Na Figura 13.13 ilustram-se esses tempos.
CP H
50%

Tempo de prepara ca o ou set-up time, tsu

Tempo de manuten ca o ou hold time, th

tsu th

Figura 13.13: Tempos de prepara ca o e de manuten c ao de um ip-op

13.4

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec ca o 5.3.

13.5

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. () 13.1 Identicar, na Figura 13.4, os instantes ou os intervalos de tempo em que ocorre o fen omeno de ones catching. () 13.2 Desenhar o s mbolo IEC de um ip-op SR master-slave sem entradas ass ncronas de Set e de Reset. () 13.3 Desenhar o s mbolo IEC de um ip-op SR master-slave com entradas ass ncronas de Set e de Reset (ou de Preset e de Clear). Todas as entradas, s ncronas e ass ncronas, devem ser activas a L. Descrever o funcionamento deste ip-op com um diagrama temporal onde se realce o efeito das entradas s ncronas e ass ncronas. () 13.4 Construir um ip-op JK master-slave a partir de: a) b) um ip-op D master-slave; um latch D controlado.

13.5. EXERC ICIOS

229

13.5 Construir um ip-op T edge-triggered a partir de um ip-op JK, tamb em edge-triggered. Um ip-op T tem a tabela de verdade f sica que se indica na Tabela 13.4, para o caso em que comuta nos ancos ascendentes. De notar que o comportamento deste ip-op garante que, a cada anco de comuta ca o, h a troca do seu estado se a entrada s ncrona T estiver activa. Em todas as outras situa co es, o ip-op mant em o estado. Tabela 13.4: Tabela de verdade f sica de um ip-op T edge-triggered que comuta nos ancos ascendentes
T H(t) L H L H CP H Q H(t+1) Q H(t) Q H(t) Q H(t) Q H(t) Q H(t) Q H(t+1) Q H(t) Q H(t) Q H(t) Q H(t) Q H(t)

Tabela de verdade f sica de um ip-op T edge-triggered

() 13.6

O ip-op hipot etico A, do tipo edge-triggered, e obtido por transforma ca o de um ip-op JK do mesmo tipo como mostra a Figura 13.14. Ser a que o ip-op A e facilmente utiliz avel na pr atica, ou apresenta problemas?
Flip-op A

&

A H CP H

1J C1 1K

Q H Q L

Figura 13.14: Flip-op hipot etico, do tipo edge-triggered, com a designa ca o de ip-op A () 13.7 Para o circuito representado na Figura 13.15, estabelecer o diagrama temporal da sa da S entre t0 e t1 , admitindo que em t0 se tem (Q1, Q2, Q3) = = (L, H, H). () 13.8 Considere o circuito representado na Figura 13.16 e admita que os ip-ops utilizados possuem th = 5 ns e tsu = 4 ns, e que as portas l ogicas possuem o mesmo tempo de atraso, tpd = 10 ns. Analisando o circuito apresentado, e tendo em considera ca o as caracter sticas indicadas, responda a `s seguintes perguntas. a) Qual o tipo de ip-op utilizado? b) Qual o tempo de atraso m nimo de um ip-op para que o circuito funcione correctamente? E qual e a frequ encia m axima de funcionamento do circuito nessas circunst ancias?

230
&

CAP ITULO 13. FLIP-FLOPS

1J C1 1K

Q1 H

1J C1 1K

Q2 H

1J C1 1K

Q3 H

CP H

=1

S H

CP H t0 t1

Figura 13.15: Exemplo de circuito sequencial s ncrono


H
1 & 1D C1 1D C1 1D C1

CP H

Figura 13.16: Exemplo de circuito sequencial s ncrono 13.9 Usando um ip-op RS, construa um ip-op XY edge-triggered que comuta nos ancos ascendentes e que possui a tabela de verdade f sica da Tabela 13.5. Tabela 13.5: Tabela de verdade f sica de um ip-op XY edge-triggered que comuta nos ancos ascendentes
X H(t) L L H H Y H(t) L H L H L H CP H Q H(t+1) Q H(t) H L Q H(t) Q H(t) Q H(t) Q H(t) Q H(t+1) Q H(t) L H Q H(t) Q H(t) Q H(t) Q H(t)

13.10 Considere um ip-op D edge-triggered. Transforme-o, usando l ogica exterior, num JK edge-triggered. 13.11 Disp oe de latches D controlados. Construa com eles e com a l ogica com-

13.5. EXERC ICIOS binat oria que entender um ip-op JK master-slave. 13.12 Transforme um ip-op D num ip-op RS.

231

13.13 Mostre que, no circuito da Figura 13.17, que representa um ip-op master-slave, as entradas directas (ass ncronas) S e R se sobrep oem a `s entradas s ncronas S e R.
R L S H
& & & &

S L
&

Q H

CP L
& & & & &

Q L

R H S L CP H R L

Figura 13.17: Flip-op RS master-slave com entradas ass ncronas de Set e de Reset () 13.14 O circuito da Figura 13.18 e baseado num ip-op D edge-triggered e constitui uma proposta de aproveitamento deste circuito para substituir uma porta NOT (!).
H
1D

IN H

C1 S R

OUT H

tsu,D max = 20 ns tsu,RS max = 6 ns th = 0 ns tpd,RS max = 50 ns tpd,C max = 40 ns

S L (t) L H L H H H H H

R L (t) H L L H H H H H

D H(t) H L

CP H

Q H(t+1) H L H H L Q H(t)

Q H(t+1) L H H L H Q H(t) Q H(t) Q H(t)

Modo Set Reset For ca HH C opia C opia Manuten ca o Manuten ca o Manuten ca o

L H

Q H(t) Q H(t)

Figura 13.18: Circuito do Exerc cio 13.14

232

CAP ITULO 13. FLIP-FLOPS Com efeito, enquanto a vari avel IN de entrada est a inactiva (a L), o Reset ass ncrono do ip-op actua e OU T L ca a H. Por outro lado, quando IN muda de L para H, vem aplicado a ` entrada de rel ogio do ip-op um anco ascendente e, como a entrada D est a activa, a fun ca o OU T de sa da passa a L. Ou seja, aparentemente OU T = IN . Os par ametros temporais do ip-op est ao indicados na gura: tsu,D max e o tempo m aximo de prepara ca o da entrada D, tsu,RS max e o tempo e o tempo de manuten ca o das m aximo de prepara ca o das entradas R e S, th entradas, tpd,RSQ max e o tempo m aximo de propaga ca o desde as entradas e o tempo m aximo de propaga ca o desde R e S at ea ` sa da Q, e tpd,CQ max a entrada de rel ogio at ea ` sa da Q. Explique porque e que o circuito n ao funciona.

13.15 Considere o circuito da Figura 13.19, em que B e um bot ao que, quando premido, estabelece o contacto a tracejado e, quando n ao premido, estabelece o contacto a cheio.
VCC R
S R

Q H

1D C1

OUT H

R VCC

Figura 13.19: Circuito do Exerc cio 13.15 a) Qual e a utilidade do circuito? b) Utilize um ip-op JK para realizar, no circuito, a mesma fun ca o que a que est a a ser realizada pelo ip-op D. 13.16 Verique que o circuito da Figura 13.20 funciona como um ip-op que opera correctamente se se considerar o tempo de propaga ca o nas portas OR da entrada.
&

R L CP H S L
1
&

Q H

Q L

Figura 13.20: Circuito do Exerc cio 13.16

Cap tulo 14

Contadores
14.1 Contadores Ass ncronos

Uma aplica ca o cl assica dos ip-ops e na realiza ca o de contadores ass ncronos. Esses contadores s ao circuitos sequenciais constituidos por v arios ip-ops interligados, o primeiro dos quais recebe impulsos de rel ogio pela linha de rel ogio do contador, que est a ligada a ` sua entrada de rel ogio. Uma das sa das deste ip-op, por sua vez, vai servir de entrada de rel ogio ao ip-op seguinte, este ao seguinte, e por a fora, at e ao u ltimo ip-op do contador. Cada impulso de rel ogio faz evoluir a congura ca o dos ip-ops, que passam a contar segundo um determinado c odigo com palavras com um comprimento que e igual ao n umero de ip-ops do contador. Ou seja, o que os contadores ass ncronos contam s ao os impulsos de rel ogio. Mais exactamente, a evolu ca o atrav es da sequ encia de estados de contagem e feita pelas transi co es entre estados de contagem, que s ao consequ encia do aparecimento de ancos activos ou ancos de comuta c ao aplicados a `s entradas de rel ogio dos ip-ops. Por exemplo, um contador bin ario de 3 bits e um circuito com tr es ip-ops que evolui ao longo da sequ encia de (estados de) contagem da Tabela 14.1, correspondente ao CBN com palavras de comprimento 3. f E acil de perceber que o ip-op cuja sa da foi denominada Q0 (o que tem menor peso) muda de estado cada vez que o contador recebe um impulso de rel ogio. Um ip-op JK com ambas as entradas a H tem exactamente esse comportamento (modo de comuta ca o). Usaremos um ip-op edge-triggered que comuta nos ancos descendentes dos impulsos aplicados a ` sua entrada de rel ogio, como sugere a Figura 14.1. A escolha entre edge-triggered e master-slave e irrelevante, mas a deni ca o do anco de comuta ca o n ao e, como veremos. Se observarmos, agora, de novo a sequ encia de contagem, podemos observar que o ip-op Q1 muda de estado sempre que o ip-op Q0 transita de H para L. o que acontece nas transi E co es LLH LHL, LHH HLL, etc. Como estamos a usar ip-ops que reagem nos ancos descendentes dos impulsos de rel ogio, podemos, ent ao usar, precisamente a transi ca o de Q0 para atacar a 233
Sequ encia de estados (de contagem) Estados de contagem Flanco activo (de comuta ca o) Contador bin ario de 3 bits Linha de rel ogio de um contador ass ncrono

234

CAP ITULO 14. CONTADORES

Tabela 14.1: Sequ encia de contagem para um contador bin ario de 3 bits, que utiliza o CBN com palavras de comprimento 3
Sequ encia de contagem Q2 H L L L L H H H H L Q1 H L L H H L L H H L Q0 H L H L H L H L H L

H
1J

Q0 H

CLK H (impulsos a contar)

C1 1K

Figura 14.1: Andar Q0 (de menor peso) de um contador bin ario de 3 bits, que conta segundo o CBN entrada de rel ogio de Q1. As entradas J e K do ip-op Q1 ter ao de estar igualmente a H para que, sempre que surge a transi ca o referida, o ip-op mude de estado. Obtemos, assim, o logigrama parcial da Figura 14.2.
H
1J

H Q0 H
1J C1 1K

Q1 H

CLK H (impulsos a contar)

C1 1K

Figura 14.2: Os andares Q0 (de menor peso) e Q1 (interm edio) de um contador bin ario de 3 bits, que conta segundo o CBN Do mesmo modo, o terceiro ip-op dever a mudar de estado quando o segundo transita de H para L. Logo, o circuito completo ser a o que se indica na Figura 14.3. Neste contador, como se pode perceber, os ip-ops nunca reagem simultanea a mudan mente. E ca de um que pode provocar a mudan ca do outro. Neste sentido, n ao h a qualquer sincronismo entre os diversos ip-ops. O circuito e

14.1. CONTADORES ASS INCRONOS


H
1J

235
H H
1J C1 1K

Q0 H

Q1 H

1J C1 1K

Q2 H

CLK H (impulsos a contar)

C1 1K

Figura 14.3: Os tr es andares de um contador bin ario de 3 bits, que conta segundo o CBN ass ncrono, por isso, e o contador e um contador ass ncrono. Repare-se que e importante serem descendentes os ancos de rel ogio em que os ip-ops reagem. Algumas quest oes se podem colocar. Que aconteceria se os ip-ops reagissem nos ancos ascendentes? E, se isso acontecesse, como se poderia, apesar de tudo, com altera co es ao circuito, obter o mesmo tipo de comportamento? S ao perguntas interessantes. Este contador conta segundo uma sequ encia de 8 estados. Por isso se designa por contador m odulo 8. Repare-se que, atingido o u ltimo estado de contagem (o estado 7) e recebido um novo impulso de rel ogio, o contador evolui de novo para o primeiro estado (o estado 0) e recome ca a contagem. Os contadores ass ncronos podem ainda incluir uma entrada de Reset ass ncrona que permite inici a-los no estado 0. Por exemplo, o contador da Figura 14.3 pode ser acrescentado com a entrada RESET L da Figura 14.4 que, quando activa, actua de imediato as entradas ass ncronas dos ip-ops, levando o contador para o estado LLL.
H
1J

Contador ass ncrono

Contador m odulo 8

H Q0 H
1J C1 1K R

H Q1 H
1J C1 1K R

Q2 H

CLK H (impulsos a contar)

C1 1K R

RESET L

Figura 14.4: Contador asss ncrono m odulo 8 que conta segundo o CBN, com entrada ass ncrona de Reset

14.1.1

Flip-ops T

Como se pode ver pela aplica ca o feita, os ip-ops JK est ao subaproveitados, uma vez que, dos seus quatro modos de funcionamento, apenas um (com J H = c ao) est a a ser usado. = K H = H, o modo de comuta Por isso, surge frequentemente, no contexto dos contadores, um novo tipo de ip-op que e uma simplica ca o do JK. Trata-se de um ip-op apenas com uma entrada s ncrona, designada por T H, tal que quando T H = L mant em o estado, e quando T H = H complementa o estado. A tabela de verdade f sica
Os fabricantes de circuitos integrados raramente disponibilizam este tipo de ip-op. Na pr atica, os ip-ops T s ao substitu dos por ip-ops JK com as entradas s ncronas ligadas a H.

236

CAP ITULO 14. CONTADORES

de um ip-op T edge-triggered ser a, assim, a da Tabela 14.2, se admitirmos que o ip-op comuta nos ancos ascendentes dos impulsos de rel ogio. Tabela 14.2: Tabela de verdade f sica de um ip-op T edge-triggered que comuta nos ancos ascendentes dos impulsos de rel ogio
T H(t) L H L H CP H Q H(t+1) Q H(t) Q H(t) Q H(t) Q H(t) Q H(t) Q H(t+1) Q H(t) Q H(t) Q H(t) Q H(t) Q H(t) Modo Manuten ca o Comuta ca o Manuten ca o Manuten ca o Manuten ca o

Modos de funcionamento Modo de manuten ca o

Note-se como este ip-op apenas possui dois modos de funcionamento: o modo de manuten c ao do estado, quando n ao existe anco de comuta ca o ou quando existe anco e T H = L, em que o estado do ip-op se mant em e, por conseguinte, se tem Q H(t+1) = Q H(t); do mesmo modo, Q L(t+1) = = Q L (t ) ; e o modo de comuta c ao, quando existe anco de comuta ca o e T H = H, em que os n veis de tens ao nas sa das mudam (comutam). O s mbolo IEC deste ip-op e o que se apresenta na Figura 14.5, admitindo que ele e do tipo edge-triggered e que comuta nos ancos ascendentes (dos impulsos de rel ogio).
1T C1

Modo de comuta c ao

S mbolo do ip-op T edge-triggered

Figura 14.5: S mbolo IEC de um ip-op T edge-triggered que comuta nos ancos ascendentes Uma vers ao ainda mais simples prescinde da entrada T H e tem apenas a entrada de rel ogio, como mostra a Tabela 14.3. Tabela 14.3: Tabela de verdade f sica de um ip-op T edge-triggered simplicado que comuta nos ancos ascendentes
CP H Q H(t+1) Q H(t) Q H(t) L H Q H(t) Q H(t) Q H(t+1) Q H(t) Q H(t) Q H(t) Q H(t) Modo Comuta ca o Manuten ca o Manuten ca o Manuten ca o

14.1. CONTADORES ASS INCRONOS

237

Este tipo de ip-op permite construir contadores do tipo anteriormente ilustrado de forma mais simples mas com a mesma estrutura.

14.1.2

Diagrama temporal

Como se viu atr as, a evolu ca o dos estados dos contadores ass ncronos tem a particularidade de, para al em de n ao ser s ncrona, se realizar com as transi co es de estado a ocorrerem na sequ encia de outra transi ca o. Ilustremos isso no diagrama temporal da Figura 14.6, em que representamos (um pouco exageradamente para a escala) os tempos de atraso dos ip-ops envolvidos no contador bin ario de m odulo 8 da Figura 14.3.
Estados de contagem CLK H Q0 H 0 1 2 3 4 5 6 7 0

L L L

H L L

L H L

H H L

L L H

H L H

L H H

H H H

L L L

Q1 H

Q2 H

Nota : As curvas com setas indicam transi c oes nas sa das dos ip-ops que s ao consequ encia de ancos descendentes (ancos de comuta c ao) dos ip-ops.

Figura 14.6: Diagrama temporal que explicita as transi co es de estados nas sa das dos ip-ops do contador bin ario de m odulo 8 da Figura 14.3, com o consequente aparecimento de estados inst aveis em algumas das transi co es Neste diagrama podemos observar facilmente a evolu ca o dos estados de contagem. Mas tamb em se pode ver que existem estados interm edios, que s ao estados inst aveis (ou transit orios) que correspondem a fases de transi ca o entre dois estados est aveis. S ao uma consequ encia directa do mecanismo de contagem. No diagrama temporal que se repete na Figura 14.7 podem ser vistos os estados de contagem, est aveis (a negrito) e inst aveis (em it alico). Os estados inst aveis assinalados existem naturalmente devido ao mecanismo de contagem e s ao perfeitamente previs veis, devido exactamente a esse facto. A sua dura ca o e da ordem do tempo de propaga ca o dos ip-ops utilizados.

Estados est aveis e inst aveis (transit orios)

14.1.3

Contadores ass ncronos com m odulos arbitr arios

f E acil conceber um contador ass ncrono para contar em qualquer m odulo que seja pot encia de 2. No entanto, por vezes s ao precisos contadores que contem noutros m odulos. A solu ca o cl assica consiste em utilizar um contador com um m odulo que e a pot encia de 2 imediatamente superior, e utilizar a entrada ass ncrona de Reset do contador para o levar para o estado 0, ap os o u ltimo estado de contagem. Para isso, realiza-se esse Reset com a descodica ca o do estado a seguir ao u ltimo

238

CAP ITULO 14. CONTADORES

CLK H Q0 H

Q1 H

Q2 H Est aveis Inst aveis 0 1 0 2 3 2 0 4 5 4 6 7 6 4 0

Figura 14.7: Repeti ca o do diagrama temporal da Figura 14.6 que identica os estados est aveis de contagem (a negrito) e os estados inst aveis que ocorrem nalgumas transi co es (em it alico) usado esse estado e n estado de contagem . E ao o u ltimo porque o u ltimo estado tem de ser est avel at e vir o impulso de rel ogio a contar. Assim, por exemplo, para realizar um contador bin ario de m odulo 6 que vai contar de 0 a 5 no CBN, utiliza-se um contador m odulo 8, descodica-se o estado 6 e aplica-se o sinal resultante da descodica ca o ao Reset ass ncrono dos ip-ops, como mostra a Figura 14.8.
H
1J

H Q0 H
1J C1 1K R

H
&

Q1 H

1J C1 1K R

Q2 H

CLK H

C1 1K R

COUNT6 L

Figura 14.8: O contador ass ncrono bin ario de 3 bits da Figura 14.3, que conta segundo o CBN, vem modicado para contar apenas de 0 a 5 Note-se que, para descodicar o estado 6, apenas se tiveram em considera ca o os n veis H de sa da dos dois u ltimos ip-ops. Isso resulta do facto de, para qualquer sequ encia de contagem, o conjunto dos bits a 1 de um n umero surgir simultaneamente a 1 pela primeira vez justamente nesse n umero. Da que n ao valha a pena ter os 0s em considera ca o. De facto, no nosso caso o estado (Q2 H, Q1 H, Q0 H) = (H,H,L) e o primeiro que tem os dois n veis mais signicativos a H. O outro e o estado (Q2 H, Q1 H, Q0 H) = (H,H,H), que apenas ao zessemos o surgiria ap os o estado (Q2 H, Q1 H, Q0 H) = (H,H,L) se n Reset dos ip-ops. Note-se, em segundo lugar, que cri amos mais um estado inst avel, o 6. Mas isso e habitual nos contadores ass ncronos. Por m, h a que ter em conta que o conjunto dos tempos de atraso dos dispositivos utilizados tem de ser tal que garanta que todos os ip-ops s ao postos a L antes do sinal de Reset ser desactivado.

14.1. CONTADORES ASS INCRONOS

239

14.1.4

S mbolos dos contadores ass ncronos


74LS293

A Figura 14.9 ilustra o s mbolo IEC de um contador ass ncrono em tecnologia TTL do tipo 74LS293.
74LS293 12 13 RCTR G1 1CT=0 DIV2

10

DIV8 0 11 + CT 2

5 4 8

Figura 14.9: S mbolo do contador ass ncrono 74LS293, de acordo com a norma IEC O s mbolo possui tr es blocos distintos. O bloco superior e designado, como j a sabemos, por bloco de controlo comum, e cont em as depend encias que s ao comuns aos blocos inferiores. O qualicador geral RCTR no bloco de controlo comum identica um contador ass ncrono (Ripple Counter). Os dois blocos inferiores, com os qualicadores gerais DIV2 e DIV8, signicam que o contador e, na realidade, formado por dois contadores (que funcionam como divisores de frequ encia, um divisor por 2 e um divisor por 8). As entradas que fazem parte do bloco de controlo comum comandam os dois blocos inferiores. A entrada superior estabelece uma depend encia And (ou depend encia G) sobre a outra entrada, conferida pelos qualicadores de entrada G1 e 1. O qualicador de entrada CT=m signica que, quando a entrada correspondente estiver activa, o contador vem carregado internamente com o valor m. No caso do 74LS293, CT=0 signica o carregamento de 0 no contador, o que e o mesmo que dizer que se faz o seu Reset. Da conjuga ca o das fun co es das duas entradas do bloco de controlo comum podemos ent ao concluir que, se ambas as entradas estiverem activas (ambas a H), se far a o Reset ass ncrono dos dois contadores/divisores de frequ encia. Por seu turno, o qualicador de sa da CTm vem colocado em m ultiplas sa das agrupadas por uma chaveta, o que signica que o estado de contagem do contador vem dado pela soma das pot encias de 2 correspondentes a `s sa das activas. Por exemplo, se o divisor de frequ encia por 8 se encontrar no estado de contagem 6, as sa das identicadas por CT1 e por CT2 est ao activas (isto e, a H), enquanto que a sa da identifcada por CT0 est a inactiva (isto e, a L). Dado que o bloco interm edio do 74LS293 constitui um divisor por 2, ser a naturalmente composto por um u nico ip-op, enquanto que o divisor por 8 do bloco
Bloco de controlo comum Qualicador geral RCTR Divisor de frequ encia Se considerarmos um diagrama temporal que envolva a entrada de rel ogio do contador e as sa das CT0 a CT2 do divisor por 8, constatamos que essas sa das possuem, respectivamente, frequ encias que s ao 1/2, 1/4 e 1/8 da frequ encia de rel ogio (da o nome de divisor de frequ encia por 2, por 4 ou por 8). Qualicadores de entrada G1 e 1 Qualicador de entrada CT=m Qualicador de sa da CTm

240

CAP ITULO 14. CONTADORES

Qualicador de entrada +

inferior ser a composto por tr es ip-ops. As entradas de rel ogio para ambos os divisores tornam-se activas nos ancos descendentes dos impulsos a elas aplicados. O qualicador de entrada + que lhes est a afecta signica que os contadores s ao ambos do tipo ascendente, incrementando de uma unidade a cada anco descendente dos impulsos de rel ogio respectivos.

14.2

Contadores S ncronos

Estes contadores s ao ainda circuitos sequenciais constituidos por v arios ip-ops interligados, tal como sucede com os contadores ass ncronos. E tal como eles, cada impulso de rel ogio aplicado a ` linha de rel ogio faz evoluir a sequ encia de estados do contador, que passa a contar segundo um determinado c odigo pr e-estabelecido. Por em, ao contr ario dos contadores ass ncronos, a interliga ca o entre os ip-ops e completamente diferente. Agora, todos os ip-ops recebem em simult aneo impulsos de rel ogio pela linha de rel ogio do contador, que est a ligada a `s entradas de rel ogio de todos os ip-ops. Isso signica que todos os ip-ops s ao actuados no mesmo anco dos impulsos de rel ogio. Tal como no caso dos contadores ass ncronos, o que os contadores s ncronos contam s ao os impulsos de rel ogio. Mais exactamente, contam o n umero de ancos activos aplicados a ` linha de rel ogio.

Linha de rel ogio de um contador s ncrono

14.2.1

Concep c ao heur stica de um contador s ncrono

A concep ca o de um contador s ncrono pode ser feita aplicando os conceitos de s ntese de circuitos sequenciais s ncronos que ser ao apresentados no Cap tulo 16, partindo de um diagrama de estados que reicta a sequ encia de contagem pretendida. Em certos casos, por em, e poss vel realizar uma concep c ao mais heur stica. Retomemos o exemplo de um contador bin ario de 3 bits. Pretende-se um contador que conte segundo a sequ encia da Tabela 14.1 da p agina 234, que repetimos na Tabela 14.4 por facilidade de exposi ca o. Ser ao necess arios tr es ip-ops. Utilizaremos, arbitrariamente, ip-ops JK edge-triggered a comutarem nos ancos ascendentes. Como o circuito e s ncrono, teremos as linhas de rel ogio interligadas entre si e ` a linha de rel ogio do contador. As tr es saidas ser ao denominadas Q2 H, Q1 H e Q0 H, sendo Q2 H a que vai corresponder ao bit mais signicativo da contagem. Podemos, ent ao, come car a construir o contador, como mostra a Figura 14.10.
1J

Q0 H

1J C1 1K

Q1 H

1J C1 1K

Q2 H

CLK H

C1 1K

Figura 14.10: Primeira fase de constru ca o do contador s ncrono m odulo 8, que conta segundo o CBN

14.2. CONTADORES S INCRONOS

241

Tabela 14.4: Sequ encia de contagem para um contador bin ario de 3 bits, que utiliza o CBN com palavras de comprimento 3
Sequ encia de contagem Q2 H L L L L H H H H L Q1 H L L H H L L H H L Q0 H L H L H L H L H L

Repare-se que, tal como no caso do contador ass ncrono, o ip-op Q0 muda de estado em todas as transi co es, isto e, muda de estado sempre que surge um anco activo na linha de rel ogio. Isso consegue-se, tal como no caso referido, colocando as linhas J e K do ip-op sempre a H. No caso do segundo ip-op, ele deve mudar de estado, como se pode concluir por inspec ca o da sequ encia de estados pretendida, sempre que no bit menos signicativo se d a a transi ca o de H para L. Aqui n ao podemos utilizar essa transi ca o para actuar o rel ogio do ip-op, como zemos no caso ass ncrono. Assim, temos de reformular a nossa t actica. Tudo o que podemos controlar s ao as linhas J e K. E essas devem ser postas a H (para o ip-op mudar de estado) a a H. Passamos, assim a utilizar os n veis de tens ao dos sinais quando Q0 H est e n ao as transi c oes dos mesmos para condicionar as mudan cas de estado. O circuito evolui, ent ao, para o logigrama parcial da Figura 14.11.
H
1J

Q0 H

1J C1 1K

Q1 H

1J C1 1K

Q2 H

CLK H

C1 1K

Figura 14.11: Fase interm edia de constru c ao do contador s ncrono m odulo 8, que conta segundo o CBN O controlo das entradas do terceiro ip-op e mais complexo. De facto, a ideia r apida que pode surgir de que as entradas do terceiro devem ser ligadas a ` sa da do segundo ip-op est a errada. De facto, n ao basta que a sa da Q1 H esteja activa (a H) para que Q2 H mude. Por exemplo, se (Q2 H, Q1 H, Q0 H) = ao se = (L, H, L), o estado seguinte de contagem e (L,H,H) e, contudo, Q2 H n

242

CAP ITULO 14. CONTADORES

a de se ter Q1 H = Q0 H = H, como altera. De facto, para Q2 H se alterar ter se pode observar na sequ encia de contagem proposta. O circuito vir a, ent ao, com o logigrama da Figura 14.12.
H
1J &

Q0 H

1J C1 1K

Q1 H

1J C1 1K

Q2 H

CLK H

C1 1K

Figura 14.12: Logigrama nal do contador s ncrono m odulo 8, que conta segundo o CBN Repare-se que, no caso dos contadores s ncronos e irrelevante o anco activo de rel ogio, ao contr ario do que sucede com os contadores ass ncronos . O circuito e um contador ascendente qualquer que seja o anco activo. Na realidade, o facto de o controlo da mudan ca dos ip-ops ser feito pelas entradas s ncronas e n ao pelo rel ogio, leva a que o anco deste perca relev ancia (excepto para denir o instante em que se d a a mudan ca). Eo bvio que, para um n umero maior de bits de contagem, para contagens em bin ario natural, se ter a sempre Ji = Ki = Q0 Q1 Qi1. Este produto l ogico pode ser implementado de duas formas: (i) como produto de i entradas; ou (ii) ltimo como um produto de duas entradas, com Ji = Ki = Ji1 Qi1. Neste u caso usam-se ANDs apenas com 2 entradas mas, em contrapartida, o circuito ca mais lento, uma vez que as mudan cas nas sa das dos ip-ops t em, no pior caso, de se propagar por i 1 portas AND para as entradas carem estabilizadas. Na Figura 14.13 ilustra-se esta solu ca o alternativa para um contador s ncrono bin ario de m odulo 16.
CLK H H
& 1J C1 1K 1J C1 1K & 1J C1 1K & 1J C1 1K &

Q0 H

Q1 H

Q2 H

Q3 H

Figura 14.13: Um contador s ncrono bin ario de m odulo 16, que utiliza portas AND com 2 entradas para formar as equa co es l ogicas dos Ji e Ki (excepto, ao ligadas a H). Note-se que a porta AND que naturalmente para J0 e K0 , que s ao era estritamente necess aria, j a que J1 = K1 = Q0 , mas foi gera J1 e K1 n inclu da para real car o padr ao de forma ca o dos Ji e dos Ki Os contadores s ncronos (como, ali as, tamb em os ass ncronos, como vimos atr as), podem ainda contar com uma entrada de Reset ass ncrona que permite inici a-los no estado 0, utilizando para tanto as entradas ass ncronas dos ip-ops (Figura 14.14).

14.2. CONTADORES S INCRONOS


H
1J &

243

Q0 H

1J C1 1K R

Q1 H

1J C1 1K R

Q2 H

CLK H

C1 1K R

RESET L

Figura 14.14: Contador s ncrono bin ario de m odulo 8, com entrada de Reset ass ncrona

14.2.2

Contadores s ncronos com entrada de Enable


Entrada de Enable (Modo)

Muitas vezes s ao necess arios contadores com uma entrada de Enable ou de Modo que controla o contador, impondo-lhe um modo de contagem quando recebe impulsos de rel ogio ou, pelo contr ario, mantendo o estado sem altera ca o. Isso e f acil de concretizar alterando um pouco a l ogica das entradas J e K, como ilustra a Figura 14.15.
COUNT H ou HOLD L
1J

&

& 1J C1 1K R

Q0 H

Q1 H

1J C1 1K R

Q2 H

CLK H

C1 1K R

RESET L

Figura 14.15: Contador s ncrono bin ario de m odulo 8, com entrada de Reset ass ncrona e entrada s ncrona de Enable (Modo), COU N T H ou HOLD L Repare-se que, se a vari avel COU N T estiver activa (a H), a funcionalidade do contador e a que temos vindo a descrever. Se, pelo contr ario, COU N T estiver inactiva, todas as entradas J e K cam a L, e os ip-ops n ao alteram o seu estado, cando portanto bloqueado o valor da contagem. Por esta raz ao, podemos designar essa entrada por HOLD em vez de COU N T , desde que simultaneamente lhe troquemos a polaridade. Ou seja, em vez de COU N T H podemos ter HOLD L.

14.2.3

Concep c ao de contadores s ncronos de m odulo qualquer

A concep ca o de qualquer contador s ncrono pode sempre ser feita utilizando um procedimento sistem atico de s ntese, que ser a mais tarde retomado no estudo dos circuitos sequenciais s ncronos em geral. Para exemplicar, aborda-se aqui o problema de conceber um contador de m odulo 6 que conta segundo o CBN e que utiliza palavras de comprimento 3, contando de 0 a 5.

244
Tabela de transi c oes

CAP ITULO 14. CONTADORES

Come ca-se por denir, numa tabela de transi c oes, o estado para que evolui o contador a partir de um outro estado. Teremos assim, a tabela de transi c oes da Tabela 14.5, em que a coluna da esquerda designa o estado actual ou estado presente do contador, EA, e a coluna da direita identica o seu estado seguinte, ES. Tabela 14.5: Tabela de transi co es de um contador de m odulo 6 que utiliza o CBN com palavras de comprimento 3, contando de 0 a 5
EA Q2 H(t) L L L L H H Q1 H(t) L L H H L L Q0 H(t) L H L H L H Q2 H(t+1) L L L H H L ES Q1 H(t+1) L H H L L L Q0 H(t+1) H L H L H L

Estado actual (presente) e estado seguinte Tabela de transi c oes de um contador s ncrono m odulo 6

O facto da s ntese com ip-ops JK produzir, muitas vezes, um logigrama mais simples, reside no facto de estes ip-ops terem 4 modos de funcionamento (contra 2 ou 3 para os outros ip-ops que estud amos), o que em geral permite simplicar as equa co es l ogicas das entradas s ncronas. Contudo, os ip-ops JK necessitam de equa co es de excita c ao para as entradas J e K, enquanto que, por exemplo, os ip-ops D apenas necessitam de equa co es de excita ca o para uma entrada D.

Repare-se que s o colocamos na tabela os estados correspondentes a ` contagem pretendida para o contador. De facto, com tr es ip-ops podia-se codicar, como ali as se viu atr as, os estados 6 e 7. Mas como esses valores cam fora do ciclo de contagem do contador, n ao s ao utilizados. O contador, como qualquer circuito s ncrono, pode ser implementado usando ip-ops de qualquer tipo. Usualmente a mais f acil trabalhar com ip-ops JK a este n vel. O circuito usar a, assim, tr es ip-ops do tipo JK, um para cada bit, e come car a, como anteriormente, pelo pr e-esquema da Figura 14.16.
1J

Q0 H

1J C1 1K

Q1 H

1J C1 1K

Q2 H

CLK H

C1 1K

Figura 14.16: Primeira fase de s ntese de um contador s ncrono de m odulo 6 que conta de 0 a 5 no CBN A tarefa de projectar o circuito resume-se a decidir que fun co es l ogicas utilizar para atacar as entradas J H e K H de cada um dos ip-ops (as chamadas equa c oes de excita c ao dos ip-ops). Repare-se que, se se pretender que um ip-op JK mantenha o estado L ao receber um impulso de rel ogio, temos duas hip oteses: ou se faz J H = K H = L e o ip-op n ao muda de estado (modo de manuten ca o do estado), ou se coloca e uma ordem para assumir o estado L (modo J H = L e K H = H, que de Reset), o que tem o mesmo efeito. Portanto, s o e necessario garantir que J H = L, sendo indiferente o valor da entrada K H.

Equa co es de excita c ao

14.2. CONTADORES S INCRONOS

245
Tabela de excita co es de um ip-op JK

Fazendo o mesmo tipo de racioc nio para todas as outras transi co es poss veis, obt em-se a Tabela 14.6, denominada tabela de excita c oes de um ip-op JK. Tabela 14.6: Tabela de excita c oes de um ip-op JK
Q H(t) Q H(t+1) L L H H L H L H J(t) K(t) L H H L

Podemos em seguida obter uma tabela de excita co es do contador substituindo, em cada ponto da tabela de estados, o n vel de tens ao que pretendemos que as sa das dos ip-ops assumam pelo n vel de tens ao a colocar nas suas entradas de excita ca o, ou entradas s ncronas (Tabela 14.7). Tabela 14.7: Tabela de excita co es do contador de m odulo 6
Estado Actual Q2 H(t) L L L L H H Q1 H(t) L L H H L L Q0 H(t) L H L H L H J2 H(t) K2 H(t) J1 H(t) K1 H(t) L L L H L H L H L H L L J0 H(t) K0 H(t) H H H H H H

Tabela de excita co es do contador m odulo 6

Da tabela de excita co es do contador podemos obter directamente os mapas de Karnaugh que denir ao as express oes l ogicas das entradas s ncronas dos ip-ops. Conv em, contudo, notar-se que, por observa ca o da tabela de excita co es, se conclui directamente que J 0 H = K 0 H = H. Por outro lado, nas posi co es correspondentes a valores n ao existentes da sequ encia de contagem s ao colocadas indiferen cas nos mapas de Karnaugh, como eo bvio. Ou seja, os quadros de Karnaugh que ir ao permitir obter as equa c oes de excita ca o dos ip-ops possuem indiferen cas por dois tipos de raz oes: (i) as que resultam da tabela de excita co es dos ip-ops; e (ii) as que resultam de estados de contagem n ao utilizados. Obtemos, assim, os mapas da Figura 14.17, de onde se podem obter as seguintes equa co es de excita ca o dos ip-ops do contador, J 2 = Q1 Q0 K 2 = Q0 J 1 = Q0 Q2 K 1 = Q0 J0 = 1 K0 = 1 ,

Reparemos que as tabelas de excita c oes do contador representam circuitos combinat orios, j a que as excita co es e as sa das dos ip-ops est ao denidas no mesmo instante t.

246
Q1 Q 0 00 0 1 0

CAP ITULO 14. CONTADORES


Q1 Q0 Q2 00 0 1 0 0

Q2

01 0 J2

11 1

10 0

01 1 0 J1

11

10

Q1 Q 0 Q2 00 0 1 0

01 1 K2

11

10

Q1 Q0 Q2 00 0 1

01 K1

11 1

10 0

Figura 14.17: Quadros de Karnaugh de onde se podem extrair as equa co es de excita ca o dos ip-ops do contador s ncrono de m odulo 6 e o circuito nal ter a o logigrama da Figura 14.18, admitindo uma implementa ca o com ip-ops edge-triggered que comutam no anco ascendente.

H
& 1J 1J C1 1K & 1J C1 1K

CLK H

C1 1K

Q2 H Q1 H Q0 H

Figura 14.18: Logigrama do contador s ncrono de m odulo 6, que conta de 0 a 5 no CBN

14.2.4

Contadores s ncronos com v arios modos de funcionamento

poss E vel projectar contadores com v arios modos de funcionamento. J a se viu anteriormente o caso de um contador com uma entrada de Modo que permite que ele conte ou que mantenha o estado. O m etodo geral de projectar contadores desse tipo continua a ser a utiliza ca o das metodologias gerais de s ntese dos circuitos sequenciais s ncronos.
Contadores bidireccionais (ou ascendentes/descendentes ou up/down)

Um exemplo comum e o dos contadores bidireccionais, tamb em chamados ascendentes/descendentes ou up/down, que podem contar ascendentemente ou descendentemente, consoante o n vel de uma vari avel de Modo. Na Tabela 14.8 apresenta-se a tabela de transi co es de um contador desse tipo de m odulo 10. A s ntese do circuito seria feita sem diculdade, com as adapta co es necess arias para ter em conta que os Js e os Ks s ao agora fun co es, n ao s o das sa das dos ip-ops, como tamb em da vari avel U P/DOW N .

14.2. CONTADORES S INCRONOS

247

Tabela 14.8: Tabela de transi co es de um contador bin ario ascendente/descendente de m odulo 10 que conta de 0 a 9 ou de 9 a 0, consoante o n vel de tens ao numa entrada de Modo designada por U P L/DOW N H

EA UP L/DOWN H = L Q3 H Q2 H Q1 H Q0 H L L L L L L L L H H L L L L H H H H L L L L H H L L H H L L L H L H L H L H L H Q3 H Q2 H Q1 H Q0 H L L L L L L L H H L L L L H H H H L L L L H H L L H H L L L H L H L H L H L H L

ES UP L/DOWN H = H Q3 H Q2 H Q1 H Q0 H H L L L L L L L L H L L L L L H H H H L L L L H H L L H H L H L H L H L H L H L

14.2.5

Contadores s ncronos com carregamento em paralelo

Em muitas aplica co es e importante utilizar contadores com a capacidade de realizar o carregamento de um valor pr e-determinado e arbitr ario, antes de proceder a ` contagem, de forma a inici a-lo com esse valor. Tal pode ser realizado se multiplexarmos a l ogica normal de contagem com a l ogica destinada a proceder a esse carregamento. Exemplica-se este procedimento na Figura 14.19 com a adi ca o dessa possibilidade ao contador bin ario de m odulo 8 com Enable anteriormente projectado na Figura 14.15, na p agina 243. Para clareza da gura, rearrumam-se os ip-ops e adiciona-se uma linha de controlo, LOAD H, que procede ao carregamento quando est a activa e que permite os outros modos quando inactiva. A l ogica de J 0 e K 0 ser a determinada pela necessidade de fazer aparecer na sa da vel de tens ao que aplicarmos a ` entrada I 0 H (ou seja, assegurar que Q0 H o n Q0 H = I 0 H) sempre que a linha LOAD H estiver a H, e por assegurar em Q0 H o n vel H (o da linha COU N T H) no caso oposto. J 0 = LOAD I 0 + COU N T K 0 = LOAD I 0 + COU N T . E de forma semelhante com as outras excita co es dos ip-ops: J 1 = LOAD I 1 + COU N T Q0 K 1 = LOAD I 1 + COU N T Q0

248
COUNT H LOAD H

CAP ITULO 14. CONTADORES

MUX G1 1 1

J0 H K0 H

I0 H
&

1J C1 1K R

Q0 H

MUX & G1 1 1

J1 H K1 H

I1 H
&

1J C1 1K R

Q1 H

MUX & G1 1 1

J2 H K2 H

I2 H
&

1J C1 1K R

Q2 H

CLK H RESET L

Figura 14.19: Circuito com tr es modos de funcionamento s ncrono (carregamento em paralelo, contagem bin aria ascendente de m odulo 8, e manuten ca o do estado), e um modo de funcionamento ass ncrono (Reset) e J 2 = LOAD I 2 + COU N T Q1 Q0 K 2 = LOAD I 2 + COU N T Q1 Q0 , o que se pode obter, de forma compacta, usando 3 multiplexers. Repare-se que um ip-op JK, para ser carregado com o n vel de tens ao de uma a de ter Ji = Ii e Ki = Ii. linha Ii H, ter Deve notar-se que as entradas de controlo n ao devem vir simultaneamente activas. Por isso, este contador possui 4 modos de funcionamento, a saber:
Modo de carregamento em paralelo Entradas de carregamento em paralelo

um modo de carregamento em paralelo, s ncrono, do valor que estiver presente nas entradas de carregamento em paralelo, I 2 H, I 1 H e I 0 H, se a entrada de Modo LOAD H, e s o ela, estiver activa (neste modo s ao escolhidas as entradas 1 dos multiplexers, ligadas a Ii H e a Ii H); sendo o carregamento s ncrono, ele s o e efectivado quando ocorre um anco de rel ogio ascendente, que e o anco de comuta ca o dos ip-ops utilizados; um modo de contagem ascendente, tamb em s ncrono, se a entrada de Modo

Modo de contagem ascendente

14.3. S IMBOLOS DOS CONTADORES

249

o ela, estiver activa [neste modo s ao escolhidas as entradas 1 COU N T H, e s a inactiva, pelo que (J 0, K 0) = (H,H), dos multiplexers porque LOAD H est (J 1, K 1) = (Q0, Q0) e (J 2, K 2) = (Q1 Q0, Q1 Q0), como acontece para um contador bin ario s ncrono de m odulo 8]; como este modo e s ncrono, a contagem s o e efectivada quando ocorrem ancos de comuta ca o dos ip-ops; um modo de Reset, ass ncrono, quando a entrada de Modo RESET L estiver activa (sendo ass ncrono, o Reset e efectivado assim que a vari avel RESET vem activa); e um modo de manuten c ao do estado, s ncrono, quando nenhuma das entradas de Modo estiver activa [neste modo s ao escolhidas as entradas 1 dos multia inactiva, pelo que (Ji, Ki) = (L,L)]. plexers porque LOAD H est
Modo de Reset

Modo de manuten ca o do estado

14.3

S mbolos dos Contadores


74LS161A

A Figura 14.20 ilustra o s mbolo IEC de um contador do tipo 74LS161A. Este s mbolo e relativamente complexo, por em representativo dos contadores s ncronos integrados que existem.
74LS161A CTRDIV16 CT=0 M1 M2 3CT=15 G3 G4 C5/2,3,4+ 1,5D [1] [2] [4] [8]

Figura 14.20: S mbolo IEC de um contador 74LS161A Passemos a ` explica ca o do s mbolo. CTRDIV16: e o qualicador geral do s mbolo. Trata-se de um contador de 4 bits (CTR) que pode ser entendido como um divisor de frequ encia por 16 (DIV16), na medida em que conta segundo o CBN de 0(10) a 15(10). Modos de funcionamento: h a uma linha de Modo que dene dois modos de funcionamento do contador (h a outros modos, por exemplo de Reset, que n ao s ao controlados pelo n vel de tens ao nesta linha): o modo M1 ocorre quando a linha de Modo est a a L, e o modo M2 quando a linha est a a H (os qualicadores 1 e 2 s ao convencionais, e apenas servem para ligar a linha de Modo a outras linhas que utilizem estes qualicadores e que, por
Qualicador geral CTRDIV16

Modos de funcionamento

250

CAP ITULO 14. CONTADORES

esse facto, dependem desta, como e o caso das linhas com os qualicadores de entrada C5/2,3,4+ e 1,5D).
Modo M1 (carregamento em paralelo) Modo M2 (contagem ascendente) Qualicador de entrada C5 Depend encia de Controlo (C) Qualicadores de entrada e

O modo M1 e o modo de carregamento em paralelo e corresponde ao carregamento em paralelo s ncrono do contador, como veremos j a a seguir. O modo M2 e o modo de contagem e corresponde, como tamb em veremos mais a ` frente, a ` contagem normal, ascendente, do contador. Linha de rel ogio: o qualicador de entrada C5 congura uma depend encia de controlo, C, que condiciona a ac ca o das entradas que possuem o qualicador 5. Associado a C5 existe um qualicador de entrada na linha de rel ogio que indica, como habitualmente, que os ip-ops do contador possuem uma estrutura do tipo edge-triggered. Por seu turno, a aus encia de um tri angulo exterior a ` entrada de rel ogio, orientado no sentido do uxo dos sinais (qualicador de entrada ), indica que os ip-ops comutam nos ancos ascendentes dos impulsos de rel ogio. G3 e G4: s ao qualicadores de entrada que designam depend encias And com efeito sobre as entradas ou sa das que possuam os qualicadores 3 e 4 ( e o caso da entrada de rel ogio com o qualicador 2,3,4+, e da sa da com o qualicador 3CT=15). Trata-se, naturalmente, de dois de Enables de contagem e de um Enable da sa da 3CT=15. 2,3,4+: e um qualicador de entrada que indica que, ao satisfazerem-se as condi co es 2, 3 e 4, o contador conta ascendentemente (o qualicador + signica contagem ascendente e o qualicador , se existisse, signicaria contagem descendente). Como podemos constatar, este qualicador est a associado ao qualicador C5 (com efeito, ter C5/2,3,4+ e o mesmo que ter uma linha de entrada com dois qualicadores, o qualicador C5 e o qualicador 2,3,4+). , como vimos anteriormente. Por sua vez, C5 est a ligado ao qualicador Logo, existe contagem ascendente se ocorrer um anco ascendente na linha de rel ogio, se o modo M2 estiver activo (entrada de Modo a H) e se as linhas de Enable G3 e G4 estiverem ambas activas. CT=0: e um qualicador de entrada que identica o Modo de Reset ass ncrono do contador (CT signica Count). Quando a linha vem activada (a L), o contador vem de imediato para o estado 0(10), sem aux lio de um anco de rel ogio (por isso o Reset e ass ncrono). O Reset seria s ncrono se, em vez de CT=0, tivessemos este qualicador a depender de C5 na forma 5CT=0. 1,5D: e um qualicador de entrada que identica em que condi co es se faz o carregamento em paralelo dos 4 ip-ops do contador (como sabemos, o carregamento em paralelo do contador permite fornecer-lhe um valor inicial de contagem). O carregamento d a-se quando a linha de Modo est a a L (Modo M1) e quando surge um anco activo na entrada de rel ogio (C5). Trata-se, portanto, de um carregamento em paralelo s ncrono (se o contador tivesse, por exemplo, o qualicador de entrada 1D em vez do qualicador 1,5D, isso signicava que o carregamento seria ass ncrono, isto e, que se vericava logo que a linha de modo viesse activada, independentemente da exist encia ou n ao de ancos de comuta ca o na linha de rel ogio; esse tipo de carregamento vem implementado em v arios contadores, s ncronos e ass ncronos, mas n ao no 74LS161A).

Qualicadores de entrada G3 e G4 Depend encia And (G)

Qualicador de entrada 2,3,4+

Qualicador de entrada CT=0 Modo de Reset Reset ass ncrono

Qualicador de entrada 1,5D Valor inicial Carregamento em paralelo s ncrono

14.4. ESTADOS INSTAVEIS

251
Qualicador de sa da 3CT=15

3CT=15: trata-se de um qualicador de sa da que indica que a contagem do contador atingiu o estado 15 (relembrar que CT signica Count). Esta sa da vem activada durante todo o estado 15 de contagem se o Enable G3 estiver activo (depend encia And). [1], [2], [4] e [8]: os qualicadores entre par entesis rectos indicam coment arios que, n ao sendo estritamente necess arios, ajudam contudo a interpretar o s mbolo. Neste caso indicam os pesos dos diversos ip-ops no processo de contagem.

Coment arios Pesos dos ip-ops

14.4

Estados Inst aveis

Quando se estudaram os contadores ass ncronos chamou-se a aten ca o para a exist encia de estados inst aveis que resultam do funcionamento dessas estruturas. Como sabemos, esses estados evoluem entre si at e se atingir um estado est avel, e n ao podem ser evitados uma vez que resultam, como se disse, do pr oprio mecanismo de funcionamento daqueles contadores. Numa primeira an alise ao caso dos contadores s ncronos, pode resultar a ideia errada que n ao existem, neste caso, estados inst aveis. De facto, como todos os ip-ops recebem simultaneamente o impulso de rel ogio que provoca uma dada transi ca o, e como cada ip-op s o tem, no m aximo, uma transi ca o (ou muda de estado ou mant em o estado) para cada impulso, pode ser dado o passo suplementar de admitir que todos os ip-ops que alteram o estado o fazem simultaneamente. N ao e assim, uma vez que os tempos de propaga ca o de cada ip-op dependem de muitos factores e, portanto, n ao s ao determin aveis em absoluto. Sabemos os intervalos de varia ca o, mas n ao os valores absolutos dos tempos de propaga ca o. Daqui resulta que os diversos ip-ops podem reagir em tempos diferentes, desde que dentro das suas especica co es. Por exemplo, no ip-op 74LS76A os fabricantes especicam um tempo de propaga c ao m aximo de 20 ns, sendo 15 ns assim, poss o tempo de propaga c ao t pico. E, vel que num determinado contador haja ip-ops a reagir em 20 ns e outros em 15 ns, e at e alguns em menos tempo que isso. Da resulta o aparecimento de estados inst aveis. Na Figura 14.21 ilustra-se um exemplo dessa situa ca o, para um contador s ncrono com 4 ip-ops, na passagem do estado est avel 7 para o estado est avel 8 (QA H e a sa da do ip-op menos signicativo). Como se pode observar, no processo de transitar do estado 7 para o estado 8 o contador vai passar, neste exemplo, pelos estados inst aveis 7 , 15 , 13 , 12 evidente que seria poss e, nalmente, 8 . E vel obter-se uma qualquer outra sequ encia de estados inst aveis, obtidos por transi ca o de apenas um ip-op de cada vez por uma ordem diferente da que se apresenta na gura. Existem, portanto, estados inst aveis tamb em em contadores s ncronos. H a, contudo, diferen cas entre os estados inst aveis nos contadores ass ncronos e nos contadores s ncronos: dura ca o : os estados inst aveis em contadores s ncronos t em dura c oes da ordem de grandeza da diferen ca entre os tempos de propaga ca o dos ip-ops, en74LS76A Tempos m aximo e t pico de propaga ca o

252
Estados est aveis CLK H QA H

CAP ITULO 14. CONTADORES

H H

QB H

H H

QC H

H H

H H

QD H Estados inst aveis

L H

H H H

7 15 13 12 8 tpd
max

= 20 ns

Figura 14.21: Transi ca o entre o estado est avel de contagem 7 e o estado est avel 8, num contador s ncrono quanto que nos contadores ass ncronos essa dura ca o e da ordem de grandeza dos pr oprios tempos de de propaga c ao. previsibilidade : nos contadores ass ncronos pode-se prever a exacta sequ encia de estados inst aveis, uma vez que essa sequ encia est a relacionada exactamente com o mecanismo de contagem. No caso dos contadores s ncronos, tal n ao pode ser feito. Sabemos que existem estados inst aveis, mas n ao sabemos a ordem por que aparecem. tipo de estados : nos contadores ass ncronos ascendentes, os estados inst aveis s ao sempre estados de contagem com valores inferiores ao do do estado de partida. Por exemplo, na transi ca o de 7 para 8 os estados inst aveis s ao 6 , 4 e 0 , por esta ordem. No caso dos contadores s ncronos os estados inst aveis, como se pode ver na Figura 14.21, podem ter valores de contagem superiores ao do estado de partida.

14.5

Interliga c ao de Contadores

Muitas vezes e necess ario proceder a ` interliga ca o entre v arios contadores para aumentar o m odulo de contagem. Uma solu ca o o bvia consiste em interlig a-los de modo a que um dos contadores seja o menos signicativo e os seguintes contem apenas quando o primeiro chega ao u ltimo estado de contagem simultaneamente com a passagem deste para o primeiro estado. A solu ca o, para manter o car acter s ncrono da interliga ca o, passa por ligar os contadores de forma a que o rel ogio seja comum e a que o Enable de contagem de cada um dependa do conjunto dos contadores menos signicativos terem chegado ao u ltimo estado de contagem. Um exemplo desse tipo de liga ca o encontra-se na Figura 14.22 para um um contador s ncrono de m odulo 256.

14.6. CARREGAMENTO EM PARALELO

253

74LS161A CTRDIV16

74LS161A CTRDIV16 CT=0 M1 M2 3CT=15 G3 G4 C5/2,3,4+ 1,5D [1] [2] [4] [8]

RESET L COUNT H/LOAD L ENABLE1 H ENABLE2 H CLK H

CT=0 M1 M2 3CT=15 G3 G4 C5/2,3,4+ 1,5D [1] [2] [4] [8]

Figura 14.22: Contador s ncrono de m odulo 256 implementado por liga ca o s ncrona de dois contadores s ncronos de m odulo 16

14.6

Utiliza c ao do Carregamento em Paralelo na Realiza c ao de Diferentes M odulos de Contagem


Naturalmente, podemos sempre sintetizar este tipo de contadores da forma que aprendemos na Subsec ca o 14.2.3. D ecada

O carregamento em paralelo dos contadores tem outra utilidade, que e a de permitir modicar os m odulos de contagem. Suponhamos que pretendemos utilizar um contador de m odulo 16, como o que se utilizou no exemplo anterior, e transform a-lo num contador de m odulo 10 (divisor de frequ encia por 10 ou d ecada). A solu ca o consiste em detectar o u ltimo estado de contagem pretendido e usar essa linha para activar o carregamento em paralelo do contador. As linhas de carregamento em paralelo ser ao utilizadas ao pode ser usado o Reset, para impor o estado de contagem 0(10). Note-se que n uma vez que ele e ass ncrono e, supostamente, pretendemos manter o contador s ncrono. Na Figura 14.23 ilustra-se o logigrama deste contador modicado. Repare-se que n ao e necess ario que a porta l ogica que descodica (ou detecta) o estado 9 tome em linha de conta os n veis a L a ` sa da do contador. De facto, a primeira vez que, na sequ encia de contagem, se encontram os dois n veis dos extremos a H, e quando o contador chega ao estado 9(10). Assim, se detectarmos apenas essa situa ca o, detectamos o estado 9(10), uma vez que os estados seguintes n ao v ao aparecer. De igual modo se poderia ter usado outro valor para carregar nas entradas de carregamento em paralelo, se a sequ encia pretendida a isso obrigasse. Se se pretendesse, por exemplo, a sequ encia de contagem decimal , 4, 5, 6, 7, 8, 9, 4, , ent ao detectar-se-ia o estado 9(10) da mesma forma, mas em vez de carregar o umero 4(10). n umero 0(10) carregar-se-ia o n

254

CAP ITULO 14. CONTADORES


COUNT H/LOAD L 74LS161A CTRDIV16 RESET L CT=0 M1 M2 3CT=15 G3 G4 C5/2,3,4+ L L L L 1,5D [1] [2] [4] [8]
&

ENABLE1 H ENABLE2 H CLK H

Figura 14.23: Contador s ncrono de m odulo 10 constru do com base num contador do mesmo tipo mas de m odulo 16

14.7

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec co es 5.4, 5.7 e 6.3 a 6.5.

14.8

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. 14.1 a) Construir um contador ass ncrono descendente de m odulo 8 usando os ip-ops e portas que entender. b) Diga quais s ao os estados inst aveis por que o contador passa na transi ca o do estado est avel 4 para o estado est avel 3. c) A solu ca o de liga ca o entre os ip-ops que escolheu eau nica? No caso contr ario, diga quais as formas alternativas de efectuar essas liga co es. () 14.2 Considere o logigrama da Figura 14.24, constitu do por um contador bin ario ass ncrono e por um multiplexer com 8 entradas de dados. encia a) Desenhe o diagrama temporal da sa da F H quando uma sequ de 10 impulsos e aplicada a ` entrada CLK H. Suponha que inicialmente ao d e relevo a ` exist encia de o contador tem o valor de contagem 0(10). N estados inst aveis nem de atrasos nos circuitos. b) Entrando agora em conta com a exist encia de estados inst aveis e de atrasos nos circuitos, desenhe o diagrama temporal pormenorizado que inclua as vari aveis I 2, I 1, I 0 e a fun ca o F das transi co es resultantes da passagem do estado de contagem 3(10) para o estado de contagem 4(10).

14.8. EXERC ICIOS


RCTR3 0 CT 2

255

CLK H

I0 H I1 H I2 H

MUX 0 0 1 G7 2 0 1 2 3 4 5 6 7

F H

Figura 14.24: Logigrama do circuito do Exerc cio 14.2 14.3 Considere o contador ass ncrono da Figura 14.25.

&

H CP H H

1J C1 1K

1J C1

H H

1J C1 1K

1J C1 1K

1K

A H

B H

C H

D H

Figura 14.25: Logigrama do contador ass ncrono do Exerc cio 14.3 a) Determine o m odulo de contagem e desenhe o diagrama temporal das sa das A H, B H, C H e D H, em fun ca o da linha CP H. b) Qual e a frequ encia m axima de funcionamento do contador, descrita em fun c ao dos tempos relevantes dos componentes utilizados? () 14.4 Estabelecer o s mbolo IEC do contador ass ncrono integrado 74HCT393, fabricado em tecnologia HCMOS compat vel com TTL. Esse contador e constitu do por dois contadores/divisores de frequ encia independentes e id enticos, cada um de m odulo 16 e com uma entrada de Reset activa a H. Os contadores contam ascendentemente a cada anco descendente dos impulsos aplicados a `s suas entradas de rel ogio. Os ip-ops utilizadas nos contadores s ao do tipo edge-triggered. () 14.5 Estabelecer o s mbolo IEC do contador ass ncrono integrado 74HC4024, fabricado em tecnologia HCMOS. Trata-se de um contador/divisor de frequ encia por 128, com uma entrada de Reset activa a H. O contador conta ascendentemente a cada anco descendente dos impulsos aplicados a ` entrada de rel ogio. Os ip-ops utilizadas nos contadores s ao do tipo edge-triggered. 14.6 a) Utilizando ip-ops JK edge-triggered que comutam nos ancos descendentes, desenhe o logigrama de um contador s ncrono m odulo 8 ou m odulo vel H 6, consoante o valor de uma vari avel de controlo, C H, tenha o n ou L, respectivamente.
74HCT393

74HC4024

256

CAP ITULO 14. CONTADORES b) Modique o circuito da al nea anterior por forma a que, para al em do funcionamento a descrito, o contador possa tamb em aceitar um carregamento em paralelo do exterior quando uma segunda vari avel de controlo, P E H, estiver activa.

14.7 Projecte um contador s ncrono m odulo 7, usando os ip-ops que entender. 14.8 Considere o circuito da Figura 14.26.
CTR4 0

Q0 H

=1

Q0 H Q1 H CP H
+ CT =1

Q1 H Q2 H
=1

Q2 H
3

Q3 H

=1

Q3 H

MODO H

Figura 14.26: Circuito do Exerc cio 14.8 a) Estabele ca as sequ encias de contagem nas sa das Q3 H a Q0 H que se obt em quando a vari avel M ODO est a activa e inactiva, respectivamente. b) Como poderia designar este circuito? Essa designa ca o est a inteiramente correcta? 14.9 Utilizando ip-ops do tipo D, projecte um contador up/down s ncrono de m odulo 6 cuja contagem varie entre 1(10) e 6(10) do CBN. 14.10 Utilizando o m etodo cl assico de s ntese da Subsec ca o 14.2.3, projecte um contador s ncrono com a seguinte sequ encia de contagem: , 0, 3, 7, 2, 5, 0, . Pode utilizar os ip-ops que desejar. 14.11 a) Utilizando o m etodo cl assico de s ntese da Subsec ca o 14.2.3, projecte um contador s ncrono com a seguinte sequ encia de contagem: , 6, 0, 2, 3, 5, 6, . O referido contador deve ter a possibilidade de ser incializado assincronamente com o n umero 6. b) Quais os factores que limitam a frequ encia m axima de contagem do contador que acabou de projectar? 14.12 Utilizando o m etodo cl assico de s ntese da Subsec ca o 14.2.3, projecte um contador s ncrono com a seguinte sequ encia de contagem: , 0, 1, 2, 3, 7, 9, 10, 12, 0, .

14.8. EXERC ICIOS

257

Pode utilizar os ip-ops que desejar. O contador deve ainda possuir uma linha P E H que, quando activada, permite o carregamento em paralelo do contador e, quando inactiva, permite a contagem. Indique se optou por um carregamento em paralelo s ncrono ou ass ncrono, e justique. 14.13 a) Utilizando ip-ops JK edge-triggered que comutam nos ancos descendentes, desenhe o logigrama de um contador s ncrono m odulo 8 ou 6, conforme o valor de uma vari avel de controlo, C , estiver activa ou inactiva, respectivamente. Justique a escolha que fez do n vel de actividade desta vari avel. b) Modique o circuito da al nea anterior de forma a que, para al em do funcionamento l a descrito, o contador possa tamb em fazer o carregamento em paralelo do exterior quando uma segunda vari avel de controlo, P E , estiver activa. Justique a escolha que fez do n vel de actividade desta vari avel. 14.14 Desenhe o logigrama de um contador s ncrono que possa contar m odulo 16, m odulo 8 ou carregar em paralelo do exterior. Disp oe, para o efeito, de ip-ops D edge-triggered que comutam nos ancos ascendentes. Os modos de funcionamento deste contador s ao controlados pelas vari aveis C 1 e C 2 da forma que se indica na Tabela 14.9. Tabela 14.9: Tabela com os modos de funcionamento do contador do Exerc cio 14.14
C1 H L L H C0 H L H L Modo Carregamento em paralelo Contagem m odulo 8 Contagem m odulo 16

14.15 Desenhar, justicando, o s mbolo IEC do 74LS192, um contador s ncrono integrado com as seguintes caracter sticas: trata-se de uma d ecada (divisor de frequ encia por 10) que conta ascendente (de 0 a 9) ou descendentemente (de 9 a 0) no CBN, com entradas de rel ogio independentes (a selec ca o do tipo de contagem e feita pela aplica ca o de impulsos de rel ogio a ` entrada de rel ogio adequada). Os ip-ops s ao do tipo edge-triggered e comutam nos ancos ascendentes. O contador permite carregamento em paralelo ass ncrono com uma entrada de carregamento activa a L dedicada a esse efeito. Existe ainda uma entrada de Reset ass ncrona activa a H. Finalmente, o contador possui duas sa das activas a L que v em activadas nas seguintes condi c oes: uma delas quando o contador est a a contar ascendentemente e passa pelo estado 9; a outra quando o contador est a a contar descendentemente e passa pelo estado 0. Em qualquer dos casos, estas sa das s o v em activadas durante a frac ca o de cada impulso de rel ogio em que estas condi co es est ao activas e o impulso est a a L. 14.16 Dispondo de contadores m odulo 8 com entrada de carregamento em paralelo P E H (que permite seleccionar entre carregamento em paralelo quando activa, e contagem quando inactiva), construa:

74LS192

258 a) um contador m odulo 10; b) um contador m odulo 100.

CAP ITULO 14. CONTADORES

14.17 S ao dados contadores do tipo ilustrado na Figura 14.27.


CTRDIV10

RESET L CIN L U H/D L PE L CLK H IN0 H IN1 H IN2 H IN3 H

CT=0 EN1 M2[UP] 1CT=9 M3[DOWN] C5[LOAD] C4/1,2+/1,34,5D [1] [2] [4] [8]

COUT L

Q0 H Q1 H Q2 H Q3 H

CIN L H L L

U H/D L H L

PE L H H H L

Modo Manuten c ao Contagem ascendente Contagem descendente Carregamento em paralelo

Figura 14.27: Contador utilizado no Exerc cio 14.17 a) Utilizando 3 destes contadores e mais a l ogica adicional que entender necess aria, projecte um contador decimal (d ecada ou divisor de frequ encia por 10) ascendente de modo program avel (at e 999). b) Diga que valores colocaria nas entradas de carregamento em paralelo dos contadores para que eles contassem m odulo 123. 14.18 Repita o Exerc cio 14.10, mas utilizando agora um contador integrado 74LS161A (Figura 14.20). 14.19 Repita o Exerc cio 14.12, mas utilizando agora um contador integrado 74LS161A (Figura 14.20). () 14.20 Utilizando um contador como o da Figura 14.28, projecte um contador com a seguinte sequ encia de contagem: , 0, 1, 2, 3, 4, 5, 6, 7, 0, . Indique ainda se optou por um carregamento em paralelo s ncrono ou ass ncrono, e justique. 14.21 Considere o contador da Figura 14.29(a). a) Complete o diagrama temporal na parte (b) da gura. b) Qual o tempo m nimo entre os dois primeiros ancos descendentes dos impulsos de rel ogio do diagrama temporal, em fun ca o dos par ametros temporais que considerar relevantes?

14.8. EXERC ICIOS

259

CTRDIV16 CT=0 1+ C2 M1 1,2D [1] [2] [4] [8]

Figura 14.28: Contador utilizado no Exerc cio 14.20


Q1 H QF H

H CLK H

1J C1 1K R

1J C1 1K

(a)

CLK H Q1 H

QF H (b)

Figura 14.29: (a) Contador utilizado no Exerc cio 14.21; (b) diagrama temporal a completar

14.22 a) Usando dois contadores s ncronos de 4 bits que especicar a como achar conveniente, construa um contador s ncrono m odulo 200. b) Rera qual a frequ encia m axima de contagem do novo contador, em fun ca o dos par ametros temporais que achar conveniente.

14.23 Disp oe de dois contadores decimais s ncronos como o da Figura 14.27. a) Ligue 3 destes contadores para formar um contador m odulo 1000. b) Calcule a frequ encia m axima de funcionamento do contador m odulo

260 1000 sabendo que:

CAP ITULO 14. CONTADORES

tpd,CLKQ = 15 ns tpd,CLKCOUT = 25 ns tpd,CINCOUT = 8 ns tsu,CIN = 15 ns 14.24 S ao dados os seguintes tipos de ip-ops: 1. master-slave; 2. edge-triggered a comutar nos ancos ascendentes; 3. edge-triggered a comutar nos ancos descendentes, com tsu = 10 ns th = 10 ns tpd = 9 ns 4. edge-triggered a comutar nos ancos descendentes, com tsu = 10 ns th = 10 ns tpd = 12 ns Considerando apenas os tipos de ip-ops indicados, quais de entre eles e que: a) poder ao ser utilizados no circuito da Figura 14.30?
H CLK H
1J C1 1K 1J C1 1K

Figura 14.30: Circuito utilizado no Exerc cio 14.24 b) poder ao ser utilizados no circuito, operando este ` a frequ encia de 50 MHz? () 14.25 Utilize um contador bin ario s ncrono de m odulo 16 com Reset e carregamento em paralelo s ncronos, para realizar um contador com a sequ encia de contagem , 0, 1, 2, 3, 4, 5, 0, 1, , isto e, com m odulo 6. Desenhe um diagrama temporal que mostre o funcionamento do contador. Modique o logigrama que obteve para acomodar um contador integrado do tipo 74LS163A como o da Figura 14.31.

74LS163A

() 14.26 Repetir o Exerc cio 14.25 mas utilizando agora um contador com Reset ass ncrono. () 14.27 Utilizar um contador integrado do tipo 74LS163A para implementar uma d ecada (contador com 10 estados), com sequ encia de contagem , 6, 7, 8, 9, , 14, 15, 6, 7, .

14.8. EXERC ICIOS


74LS163A CTRDIV16 5CT=0 M1 M2 3CT=15 G3 G4 C5/2,3,4+ 1,5D [1] [2] [4] [8]

261

Figura 14.31: S mbolo IEC de um contador 74LS163A () 14.28 Utilizar um contador integrado 74LS163A para implementar a sequ encia de contagem , 1, 2, 3, 6, 7, 8, 12, 13, 1, 2, . Recorrer ao menor n umero poss vel de integrados para desenhar o esquema el ectrico do circuito que obtiver. () 14.29 Desenhar o diagrama de estados completo do contador do Exerc cio 14.25, que utiliza o contador integrado 74LS163A. O que acontece ao contador se ele for inicializado no estado 12(10) quando o circuito vem alimentado electricamente? 14.30 Utilizar um contador integrado 74LS163A para implementar um contador s ncrono que conte segundo o c odigo Excesso de 3 (para a deni ca o deste c odigo, ver a p agina 151). 14.31 Utilizar dois contadores integrados do tipo 74LS163A para construir um contador s ncrono de m odulo 193 que conte segundo o CBN desde 63 at e 255. dado o contador da Figura 14.32. Qual 14.32 E e a sua sequ encia de contagem? 14.33 Admita que, no exerc cio anterior, substituia o contador 74LS163A por um contador integrado 74LS161A como o da Figura 14.20. O que aconteceria ao contador? () 14.34 O contador da Figura 14.33 usa um contador integrado do tipo 74x169. Qual e a sequ encia de contagem do contador?
74x169

262

CAP ITULO 14. CONTADORES

74LS163A CTRDIV16 H 5CT=0 M1 M2 3CT=15 G3 G4 C5/2,3,4+ 1,5D [1] [2] [4] [8]

&

CLK H

QA H QB H QC H QD H

Figura 14.32: Contador utilizado no Exerc cio 14.32

74x169 CTRDIV16 M1[LOAD] M2[COUNT] M3[UP] M4[DOWN] 3,5CT=15 4,5CT=0 G5 L CLK H G6 2,3,5,6 +/C7 2,4,5,6 1,7D [1] [2] [4]
1

Q0 H Q1 H Q2 H Q3 H

[8]

Figura 14.33: Contador utilizado no Exerc cio 14.34

Cap tulo 15

Registos
15.1 Conceito de Registo

Um registo e um circuito capaz de memorizar um certo n umero de bits, o que constitui uma unidade de informa ca o em si: por exemplo um car acter ASCII com 7 bits, um n umero inteiro bin ario de 16 bits, ou qualquer outro tipo de informa ca o. Basicamente, o registo deve poder tratar essa informa ca o globalmente, isto e, como um todo, e n ao bit a bit.

15.2

Registos Simples
Andar (de um registo)

Um registo simples de n bits e constitu do por n ip-ops, em geral do tipo D, com uma entrada de rel ogio comum. Cada um dos ip-ops constitui 1 andar do registo. Nessas condi co es, as entradas do registo s ao lidas e registadas simultaneamente, e apresentadas globalmente a ` sa da, como mostra a Figura 15.1.
I0 H
1D C1

I1 H
1D C1

I2 H
1D C1

I3 H
1D C1

CLK H Q0 H Q1 H Q2 H Q3 H

Figura 15.1: Registo simples com 4 andares Repare-se que a estrutura e muito simples, sendo a interliga ca o entre os diversos ip-ops (andares) apenas garantida pela linha de rel ogio. Como se pode perceber, trata-se de um circuito sequencial s ncrono, o que e comum a todos os tipos de registo que iremos considerar. A palavra I 0 I 1 I 2 I 3 e tratada globalmente, sem nenhuma especicidade ligada a cada bit. 263

264

CAP ITULO 15. REGISTOS

Uma variante comum deste registo assenta na inclus ao de um controlo de apagamento (Reset ou Clear) da informa ca o registada, utilizando, para isso, as linhas de Reset ass ncronas dos ip-ops, como se mostra na Figura 15.2.
I0 H
1D C1 R

I1 H
1D C1 R

I2 H
1D C1 R

I3 H
1D C1 R

CLK H CLEAR L Q0 H Q1 H Q2 H Q3 H

Figura 15.2: Registo simples com 4 andares e Reset ass ncrono


S mbolo de um registo simples
R C1 1D R C1 1D

O s mbolo IEC deste registo vem ilustrado na Figura 15.3(a).

(a)

(b)

Figura 15.3: (a) S mbolo IEC de um registo simples com 4 andares formados por ip-ops edge-triggered e Reset ass ncrono; e (b) s mbolo IEC de um registo id entico mas formado por latches D Como cada um dos 4 andares tem um tratamento semelhante, o simbolo exibe quatro m odulos iguais que correspondem aos 4 ip-ops. No bloco de controlo comum colocado no topo incluem-se dois qualicadores de entrada j a conhecidos, o qualicador R, que indica uma depend encia Reset, e o qualicador C1, que e um exemplo de depend encia de Controlo. Repare-se que os qualicadores de entrada dos 4 ip-ops s ao iguais, mas que apenas se ilustra o qualicador do ip-op superior, admitindo-se que o ip-op por debaixo dele herda os qualicadores do primeiro ip-op, que o ip-op que se encontra na terceira posi ca o herda os qualicadores do segundo, etc. Com isto a norma IEC pretende melhorar a legibilidade do s mbolo. De notar que o carregamento em paralelo do registo e s ncrono, uma vez que os qualicadores 1D de entrada dos ip-ops dependem, atrav es do s mbolo 1, dos impulsos de rel ogio aplicados a C1. Uma quest ao que se pode levantar e a de saber se os registos t em de ser constru dos com ip-ops edge-triggered ou se podem ser construidos com outro tipo de dispositivos de mem oria (latches ou ip-ops). Desde logo n ao h a qualquer problema na utiliza ca o de ip-ops master-slave, para al em dos cuidados a ter em qualquer utiliza ca o desse tipo de dispositivo.

Qualicadores de entrada R e C1

15.3. REGISTOS COM ENABLE

265

O caso dos latches D e mais delicado. Para circuitos do tipo do ilustrado e do seguinte, n ao h a qualquer problema. Existem registos formados por latches, como o da Figura 15.3(b), que s ao dispositivos bastante u teis. Se, por em, pensarmos nos registos de deslocamento que a seguir se apresentar ao, o uso de latches D e absolutamente de excluir devido a `s suas caracter sticas de transpar encia. Uma outra quest ao e a de considerar a utiliza ca o de ip-ops JK. Nada h a a opor, excepto o facto de que os circuitos car ao porventura mais complexos, uma vez que um ip-op desse tipo n ao permite guardar directamente o n vel de tens ao presente numa linha, como sucede com os ip-ops D.

15.3

Registos com Enable

Por vezes temos necessidade de utilizar registos com Enable, isto e, com uma entrada que possibilite, quando ocorre um determinado anco de um impulso de rel ogio, optar entre manter a informa ca o armazenada no registo ou registar novos dados. Tal faz-se de forma muito o bvia recorrendo a um multiplexer a ` entrada de cada ip-op, que permita escolher se o que se carrega em cada ip-op e um dado vindo do exterior ou, pelo contr ario, o seu pr oprio conte udo, mantendo, assim a informa ca o inalterada. Ou seja, obt em-se a solu ca o descrita na Figura 15.4. Notemos que a entrada de Enable pode ser apropriadamente designada por entrada de Modo, j a que permite dois modos de funcionamento do registo: o modo de carregamento em paralelo do registo que permite, como o nome indica, o carregamento em paralelo da quantidade booleana geral (I 3, I 2, I 1, I 0); ou o modo de manuten c ao do estado do registo. O simbolo IEC deste registo ser a o que se ilustra na Figura 15.5. O qualicador de entrada M2 est a relacionado, por interm edio do s mbolo 2, com as entradas de carregamento em paralelo (entradas D dos ip-ops) atrav es dos qualicadores de entrada 1,2D. Este modo realiza-se apenas se a entrada M2 estiver activa, isto e, a H, e se aparecer um anco ascendente de rel ogio (o que e indicado pelo s mbolo 1 ligado ao qualicador de entrada de rel ogio, C1). Ou seja, o carregamento em paralelo e s ncrono (se fosse ass ncrono, as entradas D dos ip-ops teriam qualicadores 2D em vez de 1,2D), isto e, ocorre imediatamente ap os um anco de comuta ca o dos ip-ops que apare ca quando a entrada de Modo estiver activa. Quando a entrada de Modo est a inactiva, a L, n ao se faz carregamento em paralelo. Por omiss ao, sup oe-se que o registo mant em o seu estado. Contudo, esta opera ca o e ainda s ncrona, como se percebe pelo logigrama do registo, pelo que sucessivos ancos de comuta ca o com a entrada de Modo inactiva apenas conrmam a manuten ca o do estado do registo.

Entrada de Modo Modos de funcionamento

Modo de carregamento em paralelo

Modo de manuten ca o

266

CAP ITULO 15. REGISTOS

MUX G1

I0 H

1 1

1D C1 R

Q0 H

LOAD H

MUX G1

I1 H CLK H RESET L

1 1

1D C1 R

Q1 H

MUX G1

I2 H

1 1

1D C1 R

Q2 H

MUX G1

I3 H

1 1

1D C1 R

Q3 H

Figura 15.4: Registo de 4 andares com Reset ass ncrono e uma entrada de Modo, ncrono se estiver activada, LOAD H, que permite o carregamento em paralelo s ou a manuten ca o do valor carregado quando inactiva

M2 R C1 1,2D

Figura 15.5: S mbolo IEC do registo da Figura 15.4

15.4

Registos de Deslocamento

Um outro tipo de registo muito importante e o registo de deslocamento. Na sua vers ao mais simples, um registo de deslocamento e um registo em que os dados,

15.4. REGISTOS DE DESLOCAMENTO

267

em vez de entrarem em paralelo como no caso dos exemplos anteriores, surgem em s erie, isto e, bit a bit, por uma u nica entrada de dados. Como mostra a Figura 15.6, o circuito base e muito simples de desenhar.
I H
1D C1 1D C1 1D C1 1D C1

CLK H Q0 H Q1 H Q2 H Q3 H

Figura 15.6: Registo de deslocamento para a direita com 4 andares formados por ip-ops edge-triggered do tipo D a comutar nos ancos ascendentes Neste caso usaram-se 4 ip-ops D edge-triggered a comutar nos ancos ascendentes, mas eo bvio que se podiam ter usado mais ou menos andares, com outros tipos de ip-ops contudo, ver a observa c ao da p agina 265 no que diz respeito a ` impossibilidade de usar latches D neste tipo de circuitos, devido a `s suas caracter sticas de transpar encia . Quanto ao s mbolo IEC deste registo, podemos constatar na Figura 15.7 a exist encia de um qualicador de entrada da forma C1 , em que a seta para a direita signica que o registo desloca para a direita, como mostra o logigrama da Figura 15.6, o que no s mbolo signica de cima para baixo. Com efeito, notar que a entrada de dados est a ligada ` a entrada D do primeiro ip-op (o de cima, no s mbolo).
SRG4 C1 1D

Figura 15.7: S mbolo IEC do registo de deslocamento para a direita da Figura 15.6 Naturalmente, o deslocamento e s ncrono (quando houver um anco de comuta ca o), uma vez que a seta est a precedida do qualicador C1). Uma designa ca o comum para este tipo de registos e SIPO (Serial-In, Parallel-Out), por oposi ca o aos registos PIPO (Parallel-In, Parallel-Out) estudados nas Sec co es 15.2 e 15.3. De notar que os primeiros fazem deslocamento, enquanto que os u ltimos n ao o podem fazer. Naturalmente, podemos ainda imaginar registos de deslocamento do tipo SISO (Serial-In, Serial-Out) ou do tipo PISO (Parallel-In, Serial-Out). Na Figura 15.8 ilustram-se os s mbolos IEC destes registos. de real E car que se trata, nos dois casos, de registos de deslocamento, sendo que os registos PISO necessitam de dois modos de funcionamento, um para carregar
SIPO (Serial-In, Parallel-Out) PIPO (Parallel-In, Parallel-Out) SISO (Serial-In, Serial-Out) PISO (Parallel-In, Serial-Out)

268
SRG4 C1 1D

CAP ITULO 15. REGISTOS


SRG4 M2 C1 1,2D

(a)

(b)

Figura 15.8: S mbolos IEC de registos do tipo: (a) SISO; e (b) PISO em paralelo os dados de entrada, e outro para o subsequente deslocamento (no caso, para a direita). Por outro lado, acentua-se que tudo o que foi dito para os registos de deslocamento para a direita pode igualmente ser aplicado a registos de deslocamento para a esquerda, como o da Figura 15.9.
I H

1D C1

1D C1

1D C1

1D C1

CLK H Q0 H Q1 H Q2 H Q3 H

Figura 15.9: Registo de deslocamento para a esquerda com 4 andares Neste caso o s mbolo IEC (Figura 15.10) deve ter uma seta orientada para a esquerda, indicando um deslocamento de baixo para cima no s mbolo.
SRG4 C1 1D

Figura 15.10: S mbolo IEC de um registo de deslocamento para a esquerda, com 4 andares formados por ip-ops D edge-triggered

15.5

Registos Multimodo

E poss vel conceber registos multimodo, usando a ideia de incluir um multiplexer antes de cada uma das entradas D dos ip-ops. Nesse caso, cada modo de

15.5. REGISTOS MULTIMODO

269

funcionamento corresponde a uma das entradas do multiplexer que selecciona a origem dos dados para cada entrada D. O registo de deslocamento universal e um registo com 4 modos de funcionamento: o modo de carregamento em paralelo que permite, como o nome indica, o carregamento em paralelo de uma quantidade booleana geral com um n umero de bits igual ao n umero de andares do registo; o modo de deslocamento para a direita; o modo de deslocamento para a esquerda; e o modo de manuten c ao (s ncrono) do estado do registo. Na Figura 15.11 ilustra-se um andar gen erico de um registo de deslocamento universal.
MUX

Registo de deslocamento universal Modos de funcionamento Modo de carregamento em paralelo

Modo de deslocamento para a direita Modo de deslocamento para a esquerda Modo de manuten ca o

MODE0 H MODE1 H INi H


1D C1

0 G0 3 1 0 1 2 3

1D C1

1D C1

CLK H

Qi-1 H

Qi H

Qi+1 H

Figura 15.11: Andar gen erico, i, de um registo de deslocamento universal de notar que os 4 modos s E ao assegurados atrav es de 4 quantidades booleanas gerais aplicadas a `s entradas de Modo, M ODE 0 H e M ODE 1 H, em que a vari avel M ODE 1 tem mais peso do que M ODE 0. Isso resulta de as entradas de Modo terem sido ligadas a `s entradas de selec ca o do multiplexer da forma indicada na gura. Na Figura 15.12 apresenta-se o s mbolo IEC de um registo de deslocamento universal, o 74x194. Repare-se que existem no s mbolo entradas s erie nos dois ip-ops extremos do registo. Essas entradas t em qualicadores 1,4D no caso do deslocamento para a direita, porque associados a ` seta com o qualicador 1. E t em qualicadores 2,4D no caso do deslocamento para a esquerda, porque associados a ` seta com o qualicador 2. Por outro lado, existem ainda entradas separadas de carregamento em paralelo (com qualicadores 3,4D) em todos os andares do registo. Assim sendo, o modo M3 e o de carregamento em paralelo s ncrono, o modo M1 e o de deslocamento para a direita (naturalmente, s ncrono), o modo M2 e
74x194

270
74x194 SRG4 0 0 M3 1 C4 1 / 2 R 1,4D 3,4D 3,4D 3,4D 3,4D 2,4D

CAP ITULO 15. REGISTOS

Figura 15.12: S mbolo IEC de um registo de deslocamento universal, o 74x194 o de deslocamento para a esquerda (mais uma vez s ncrono), e o modo M0, por omiss ao, e o modo de manuten c ao do estado do registo (tamb em s ncrono). De notar ainda que a entrada de rel ogio, com o qualicador C4, e apenas uma (um e apenas um pino do integrado), embora esteja cindida em duas partes para n ao sobrecarregar o simbolo. Contudo, era perfeitamente leg timo indicar apenas uma entrada no s mbolo com o qualicador C4 / 1 / 2 .

15.6
15.6.1

Transfer encias entre Registos


Interliga ca o de registos

Muitas aplica c oes em Sistemas Digitais, nomeadamente no que diz respeito ` a Arquitectura de Computadores, assentam na exist encia de um certo n umero de registos interligados que permitem transferir informa ca o entre si, directamente ou atrav es de blocos de l ogica combinat oria que processam a informa ca o contida nos registos. No imediato, iremos estudar apenas solu co es para possibilitar a troca de informa c ao entre um conjunto de registos. A interliga ca o de registos ser a feita interligando, atrav es de outros dispositivos, oportuno introduzir aqui a no o conjunto das suas sa das e entradas. E ca o de barramento (bus em ingl es). Um barramento e um conjunto de linhas que transportam sinais do mesmo tipo e que devem ser tratados de forma semelhante. Por exemplo o conjunto de linhas de sa da de um registo constitui um barramento.

Barramento

15.6.2

Interliga ca o entre registos utilizando multiplexers

Supondo que temos um certo n umero de registos que devem trocar informa ca o entre si, a solu ca o mais evidente consiste na utiliza c ao de multiplexers nas entradas dos registos, multiplexers esses que permitem seleccionar a origem da informa ca o que vai ser armazenada em cada registo.

15.6. TRANSFERENCIAS ENTRE REGISTOS

271

Suponhamos uma situa ca o em que h a 4 registos de 5 bits cada um, que pretendemos interligar (Figura 15.13).

Reg. 0 LOAD,0 H
M2 C1

Reg. 1 LOAD,1 H
M2 C1

IN0,0 H IN1,0 H IN2,0 H IN3,0 H IN4,0 H

1,2D

OUT0,0 H OUT1,0 H OUT2,0 H OUT3,0 H OUT4,0 H

IN0,1 H IN1,1 H IN2,1 H IN3,1 H IN4,1 H

1,2D

OUT0,1 H OUT1,1 H OUT2,1 H OUT3,1 H OUT4,1 H

CLK H LOAD,2 H

Reg. 2
M2 C1

Reg. 3 LOAD,3 H
M2 C1

IN0,2 H IN1,2 H IN2,2 H IN3,2 H IN4,2 H

1,2D

OUT0,2 H OUT1,2 H OUT2,2 H OUT3,2 H OUT4,2 H

IN0,3 H IN1,3 H IN2,3 H IN3,3 H IN4,3 H

1,2D

OUT0,3 H OUT1,3 H OUT2,3 H OUT3,3 H OUT4,3 H

Figura 15.13: Quatro registos de 5 bits cada um, que pretendemos ver interligados A sa da i do registo j vem designada por OUTi,j. Do mesmo modo, a entrada i do registo j vem designada por INi,j. Para os interligarmos, cada registo vai precisar de ter, em cada entrada, um multiplexer de 4 entradas de dados, o que signica a utiliza ca o de 20 multiplexers de 4 entradas. Deste modo consegue-se, para cada registo, multiplexar em cada uma das suas entradas os barramentos de sa da de todos os registos, incluindo ele pr oprio. Escolhendo um dos registos para ilustrar a solu ca o, teremos a situa ca o descrita na Figura 15.14. Esta solu ca o e muito complexa, mas tem a vantagem de permitir, em cada momento, transferir dados para os n registos simultaneamente. Uma solu ca o mais interessante do ponto de vista de complexidade consiste em usar, para todos os registos, apenas um conjunto de multiplexers, em vez de um para cada registo. Isso leva a que todos os registos vejam na sua entrada a mesma informa ca o, e s o aquele em que se pretende carregar a informa ca o de sa da de um deles e que deve ver activado o seu modo de carregamento em paralelo. Perde-se, e claro, a hip otese de fazer v arias transfer encias simultaneamente, uma vez que o recurso cr tico (os multiplexers) passa a estar partilhado.

272
MUX

CAP ITULO 15. REGISTOS

SEL0 H SEL1 H OUT0,0 OUT0,1 OUT0,2 OUT0,3 H H H H

0 G0 3 1 0 1 2 3

MUX 0 G0 3 1

OUT1,0 OUT1,1 OUT1,2 OUT1,3

H H H H
MUX 0 G0 3 1

0 1 2 3

Reg. i LOADi H CLK H IN0,i H IN1,i H IN2,i H IN3,i H


MUX M2 C1 1,2D

OUT0,i H OUT1,i H OUT2,i H OUT3,i H OUT4,i H

OUT2,0 OUT2,1 OUT2,2 OUT2,3

H H H H

0 1 2 3

IN4,i H

0 G0 3 1

OUT3,0 OUT3,1 OUT3,2 OUT3,3

H H H H
MUX 0 G0 3 1

0 1 2 3

OUT4,0 OUT4,1 OUT4,2 OUT4,3

H H H H

0 1 2 3

Figura 15.14: A interliga ca o dos 4 registos da Figura 15.14 pode ser feita com multiplexers, mas a solu ca o e muito complexa. Nesta gura apenas se apresenta a liga ca o a um dos registos

15.6.3
Buer tri-state

Buers tri-state

Antes de avancar com uma solu ca o mais simples, h a que apresentar um novo dispositivo o Buer tri-state. Trata-se um dispositivo com uma entrada e uma sa da de dados com capacidade tri-state, e uma entrada de Enable que controla essa capacidade tri-state de acordo com a tabela de verdade f sica da Figura 15.15(b), que mais n ao e do que uma extens ao da tabela de verdade gen erica da Tabela 7.5, na p agina 118. Ou seja, quando a entrada de Enable est a activa, a sa da assume um n vel que e uma c opia do n vel que estiver presenta a ` entrada de dados do Buer. Quando, pelo contr ario, a entrada de Enable est a inactiva, ent ao a sa da ca em alta imped ancia [o que se representa por Hi-Z na Figura 15.15(b)].

15.6. TRANSFERENCIAS ENTRE REGISTOS

273

EN H IN H EN H
1 EN

IN H L H (b)

OUT H Hi-Z L H

OUT H

L H H

(a)

Figura 15.15: S mbolo IEC de um Buer tri-state com entradas de dados e de Enable activas a H, e com a sa da tamb em activa a H; e (b) tabela de verdade f sica deste Buer Quanto ao s mbolo IEC deste Buer, ver a Figura 15.15(a). Muitas vezes estes Buers n ao aparecem de forma isolada nos circuitos integrados, mas em conjuntos de 4 ou de 8. A Figura 15.16 apresenta o s mbolo de um Buer qu adruplo do tipo 74HCT244.
74HCT244 EN

74HCT244

Figura 15.16: S mbolo IEC de um Buer tri-state qu adruplo do tipo 74HCT244 No s mbolo, a u nica particularidade digna de realce e a exist encia dos qualicadores gerais colocados em cada um dos 4 Buers e orientados no sentido das entradas para as sa das, que indicam a exist encia de amplica ca o dos sinais de entrada (a designa ca o Buer vem desta caracter stica de amplica ca o), para al em de identicarem o sentido do uxo da informa ca o. H a duas aplica co es fundamentais para os Buers tri-state. Por um lado permitem simplicar a complexidade das opera c oes de multiplexagem, sem o recurso a multiplexers. Por outro lado, potenciam a utiliza ca o de linhas bidireccionais. A utiliza ca o de Buers tri-state para multiplexar temporalmente v arios dados e j a conhecida da Subsec ca o 6.4.2, e pode ser traduzida pelo logigrama da Figura 15.17 no caso de o n umero de dados a multiplexar ser igual a dois. Considere-se a linha SEL.IN 1 H = H. Nestas circunst ancias, o Buer superior vem inibido (a sua sa da vem em alta imped ancia) e o inferior activado, coloda OU T H. cando o n vel de tens ao da linha de entrada IN 1 H na linha de sa Inversamente, se SEL.IN 1 H = L teremos o Buer inferior inibido e o superior activado, obtendo-se OU T H = IN 0 H. A estrutura apresentada tem, assim, o comportamento de um multiplexer de duas entradas de dados e uma de selec ca o. Com um descodicador de n entradas

Qualicador geral

274
IN0 H
1 1

CAP ITULO 15. REGISTOS

SEL.IN1 H

EN

OUT H IN1 H
1 EN

Figura 15.17: Multiplexagem temporal de dois dados, obtida a ` custa de dois Buers tri-state e um conjunto de Buers tri-state e poss vel contruir um multiplexer de 2n entradas de dados. Consideremos agora a quest ao da bidireccionalidade, observando o logigrama da Figura 15.18.
Buer tri-state IN1,i H OUT1,i H OUTi.TO.INj H IN2,i H OUT2,i H
1 EN 1 EN

Barramento bidireccional

Buer tri-state IN1,j H

Linha 1

1 EN

OUT1,j H

IN2,j H Linha 2
1 EN

OUT2,j H

INn,i H OUTn,i H
1 EN

INn,j H Linha n
1 EN

OUTn,j H

OUTj.TO.INi H

Figura 15.18: Barramento bidireccional com n linhas, controlado por Buers tri-state unidireccionais Neste logigrama e poss vel observar as v arias linhas do barramento, com cada uma delas a ligar dois Buers tri-state unidireccionais, um a ` direita e outro a ` esquerda no desenho. Admite-se que as entradas de dados dos Buers est ao ligadas a `s sa das OU T i H ao ligadas e OU T j H de registos apropriados, e que as linhas do barramento est a `s entradas IN i H e IN j H dos mesmos registos. Se a linha OU T i.T O.IN j H estiver activa, a H, ent ao os buers da direita est ao inibidos, as suas sa das est ao em alta imped ancia e, consequentemente,

Buer tri-state unidireccional

15.6. TRANSFERENCIAS ENTRE REGISTOS

275

portam-se como se n ao estivessem ligados ao barramento. Em contrapartida, os Buers da esquerda est ao activos e a informa ca o que se encontra nas linhas OU T i de sa da do registo i e transmitida atrav es dos Buers e pelo barramento para a parte direita, onde pode ser lida ou armazenada no registo j . Se a linha OU T i.T O.IN j H estiver inactiva, a L, observa-se exactamente o contr ario, com a transfer encia a ser efectuada da sa da do registo j , atrav es dos Buers da direita, pelo barramento e da para a entrada do registo i, onde pode ser aramazenada. Um barramento bidireccional como este permite ent ao trocar, sobre as mesmas linhas, informa ca o nas duas direc c oes (uma de cada vez, claro). Este tipo de aplica ca o e muito importante, como veremos em Arquitectura de Computadores. Na Figura 15.19(a) apresenta-se o s mbolo IEC do 74x245, um Buer tri-state bidireccional t pico, com 8 linhas. E na Figura 15.19(b) ilustram-se dois andares do Buer (de entre os 8 que ele possui), mais os respectivos sinais de controlo.
OUTEN L
&

74x245 Buer tri-state bidireccional

74x245 G3 3EN1 3EN2 1 2

&

L.TO.R H L0 H
1 EN 1 EN 1 EN 1 EN

R0 H

L1 H

R1 H

(a)

(b)

Figura 15.19: (a) S mbolo IEC de um Buer tri-state bidireccional com 8 linhas, o 74x245; (b) logigrama de dois dos 8 andares do Buer, e respectivos sinais de controlo Real cam-se os qualicadores gerais colocados nos dois sentidos em cada um dos 8 Buers, o que ilustra claramente o sentido do uxo da informa ca o. De notar que, se a entrada de Enable das sa das, OUTEN L, estiver inactiva, todos os Buers cam com as suas sa das em alta imped ancia e o barramento da esquerda ca separado do barramento da direita. Quando OUTEN L est a activa, a transfer encia d a-se da esquerda para a direita se L.TO.R H estiver activa, e da direita para a esquerda se estiver inactiva.

276

CAP ITULO 15. REGISTOS

15.6.4

Interliga ca o entre registos utilizando barramentos tri-state

Os Buers tri-state unidireccionais permitem simplicar consideravelmente o problema da interliga ca o de registos. Se admitirmos que os registos possuem uma capacidade tri-state nas sa das, controlada por uma linha OE L (OE de Output Enable) o que e comum vericar-se podemos organizar o logigrama da Figura 15.20 em que se interligam quatro registo de 5 bits, tal como se fez para a Figura 15.13. Repare-se que desapareceram os circuitos em volta dos registos da Figura 15.14, cando apenas presente dois descodicadores. O descodicador superior faz o Enable da sa da de um e apenas de um registo de cada vez (aquele que se pretende que seja a fonte da informa ca o a transferir). Pelo barramento passa, ent ao, o conte udo desse registo, conte udo esse que e apresentado simultaneamente a ` entrada de todos os registos. Por sua vez, o descodicador inferior escolhe o registo que vem com o modo de carregamento em paralelo activo e, portanto, o registo que armazena o que est a presente no barramento, quando surgir o anco de comuta ca o no rel ogio. Dada a sua simplicidade e capacidade de modulariza ca o, esta solu ca o com barramentos tri-state e muito comum neste tipo de problemas, em que se pretendem interligar v arios registos com id enticas dimens oes.

15.7

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec ca o 5.1 a 5.3, 7.4 e 7.5.

15.8

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. () 15.1 Recorrendo a 4 ip-ops JK, implemente um registo com 4 andares que permita fazer deslocamento a ` direita, deslocamento a ` esquerda, deslocamento circular a ` direita, e memorizar em paralelo. () 15.2 a) Construa um registo com 4 ip-ops do tipo D capaz de memorizar em paralelo do exterior, de efectuar a divis ao do seu conte udo por dois, e de duplicar o seu conte udo (desde que o resultado da duplica ca o continue a poder ser representado com 4 bits). b) Amplie o circuito anterior, de forma a ligar quatro registos id enticos aos pedidos na al nea anterior a um barramento comum. 15.3 Suponha que disp oe de um registo de deslocamento a ` direita com 4 bits e carregamento em paralelo s ncrono. Construa, usando o material que

15.8. EXERC ICIOS

277

BIN/1-OF-4 0 1 2 3 OE0 H OE1 H OE2 H OE3 H EN M2 C1 1,2D

1 2

# do registo origem da informa c ao

EN M2 C1 1,2D

CLK H EN M2 C1 1,2D

# do registo destino da informa c ao


BIN/1-OF-4 0 1 2 3

1 2

EN M2 C1 1,2D

Figura 15.20: Logigrama de um sistema formado por 4 registos interligados com sa das tri-state

achar necess ario e que especicar a como entender conveniente, um circuito com os seguintes modos de funcionamento: (i) deslocamento de um bit a ` direita; (ii) deslocamento de um bit a ` esquerda; (iii) carregamento de

278

CAP ITULO 15. REGISTOS dados em paralelo; (iv) complementa ca o do seu conte udo; e (v) n ao fazer nada (apesar de receber impulsos de rel ogio).

15.4 Construa um registo de 6 bits que possa operar nos seguintes modos: (i) memorizar em paralelo do exterior; (ii) multiplicar por 4 o seu conte udo (at e 15); (iii) multiplicar por 8 o seu conte udo (at e 7; e (v) efectuar a divis ao inteira do seu conte udo por 4. 15.5 Construa um registo de deslocamento com 4 bits com os seguintes modos: (i) deslocamento de uma posi ca o para a direita; (ii) deslocamento de uma posi ca o para a esquerda; (iii) complementa ca o do conte udo; e (iv) adi ca o de uma unidade ao seu conte udo (por exemplo, se o conte udo for 0101 passar a a 0110). 15.6 Construa, usando os ip-ops que achar conveniente e o m nimo poss vel de l ogica adicional, um registo de 4 bits com os seguintes modos de funcionamento: (i) carregamento em paralelo; (ii) contagem descendente; (iii) reset s ncrono; e (iv) deslocamento a ` direita (no sentido do bit menos signicativo). () 15.7 Um registo de deslocamento de comprimento vari avel e um registo SISO com um n umero vari avel de bits. Este tipo de registo e utilizado para provocar um n umero vari avel de ciclos (de rel ogio) de atraso da entrada para a sa da. O comprimento vem especicado por uma vari avel booleana geral de controlo. Desenhe o logigrama de um registo de deslocamento com comprimento vari avel entre 1 e 8 bits. Use, para tanto, um registo SIPO e m odulos combinat orios. 15.8 Projecte um circuito capaz de reconhecer os seguintes padr oes bin arios: 0101 e 0110. Utilize um registo de deslocamento do tipo SIPO e portas l ogicas. () 15.9 Como projectaria um andar (gen erico) de um registo de deslocamento com carregamento em paralelo ass ncrono? E se fosse com carregamento em paralelo s ncrono? 15.10 Disp oe de dois registos, A e B , com 4 bits cada um, que permitem, a cada impulso de rel ogio, a memoriza ca o em paralelo dos valores que se lhes apresentam a `s entradas. a) Ligue-os sobre um barramento comum, por forma a que a informa ca o possa ser transferida de A para B ou de B para A. b) Ligue-os sobre um terceiro registo (Buer C ), tamb em com 4 bits. A informa ca o a ser transferida de A par B ou de B para A dever a ser memorizada temporariamente no Buer. Neste caso, a transfer encia da informa ca o dever a ocorrer em dois impulsos de rel ogio consecutivos. 15.11 Disp oe de 3 registos id enticos, R1, R2 e R3, cada um com 4 andares e constitu dos por ip-ops do tipo D e sa das tri-state. Desenhe as liga co es internas entre os ip-ops de um dos registos, e as liga co es externas entre os registos, de modo a que a informa ca o de qualquer dos registos possa ser transferida para outro ou outros registos, de acordo com as tabelas da Tabela 15.1.

15.8. EXERC ICIOS

279

Tabela 15.1: Tabelas de verdade f sicas com os modos de funcionamento do circuito do Exerc cio 15.11

ORG1 H L L H H

ORG0 H L H L H

Modo Origem em R1 Origem em R2 Origem em R3

DEST2 H L L L L H H

DEST1 H L L H H L L

DEST0 H L H L H L H

Modo Destino e R1 Destino e R2 Destino e R3 Destinos s ao R1 e R2 Destinos s ao R 1 e R 3 Destinos s ao R2 e R3

15.12 Disp oe de um registo que n ao e de deslocamento, com 4 bits, e de um circuito somador completo de 4 bits. Projecte, usando os multiplexers e as portas que achar conveniente, um circuito que permita realizar a seguinte opera ca o: ((A 2) + B )/2). As opera co es parciais decorrer ao sequencialmente: o valor de A ser a inicialmente carregado em paralelo no registo e depois multiplicado por 2; em seguida o resultado dessa opera ca o dever a ser somado com B e, ap os isso, o novo resultado dever a vir dividido por 2. N ao se pretende o projecto do circuito de controlo (isso constituir a mat eria para os cap tulos seguintes), mas apenas do circuito controlado (o circuito que e pedido, com o registo de deslocamento, os multiplexers e as portas). 15.13 O registo de deslocamento universal 74x194 da Figura 15.12 e utilizado no circuito da Figura 15.21 para formar um contador em anel, com apenas uma sa da activa de cada vez. Qual e a sequ encia de contagem do contador? Desenhar um diagrama de estados que justique a sua resposta. 15.14 O contador em anel do exerc cio anterior tem dois problemas: (i) se, como consequ encia de uma falha no circuito ou de ru do, a sua u nica sa da activa vier a L, o contador passa ao estado 0000 e ca nesse estado por tempo indeterminado; e (ii) se um 1 extra vier, pelos mesmos motivos, inserido na sequ encia de contagem (por exemplo, criando o estado de contagem 0101), o contador segue um ciclo de contagem incorrecto (deixa de funcionar como contador em anel) e ca nesse ciclo por tempo indeterminado. Desenhar um contador em anel auto-corrector que n ao tenha estes problemas.
Contador em anel

Contador em anel auto-corrector

280

CAP ITULO 15. REGISTOS

74x194 INIT H H CLK H SRG4 0 0 M3 1 C4 1 / 2 R 1,4D 3,4D 3,4D 3,4D 3,4D 2,4D Q3 H Q2 H Q1 H Q0 H

Figura 15.21: Contador em anel que utiliza um registo de deslocamento universal

Cap tulo 16

Circuitos Sequenciais S ncronos


16.1 Circuitos S ncronos e Ass ncronos

Relembremos, dos cap tulos anteriores, que os circuitos sequenciais (ao contr ario do que sucede com os circuitos combinat orios) apresentam n veis de tens ao (valores l ogicos) nas sa das que podem ser diferentes para n veis de tens ao (valores l ogicos) iguais nas entradas. Existem v arias formas de realizar circuitos sequenciais. Desde logo e poss vel realizar circuitos sequenciais sem utilizar ip-ops, apenas construindo realimenta co es entre as sa das de circuitos combinat orios e algumas entradas, como acontece com o circuito da Figura 16.1(a) um latch RS como o da Figura 12.5, redesenhado para fazer salientar a ( unica) linha de realimenta ca o ou o circuito da Figura 16.1(b), com duas linhas de realimenta ca o.
1

X H X H
1

&

Z H

Z H
1 &

Y1 H

Y H

1 1

Y0 H

(a)

(b)

Figura 16.1: Logigramas de circuitos sequenciais que n ao utilizam ip-ops (circuitos ass ncronos). O circuito da parte (a) e um latch RS, j a conhecido da Figura 12.5 N ao se deve, contudo, inferir que todos os circuitos formados por circuitos com281

282

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

binat orios com realimenta co es entre as sa das e as entradas s ao, necessariamente, circuitos sequenciais . Este tipo de circuitos possui vantagens e inconvenientes: e de mais dif cil projecto, e os circuitos s ao mais delicados de interligar. Como n ao h a qualquer sinal que coordene o momento em que as diversas vari aveis de realimenta ca o s ao actualizadas, estes circuitos s ao denominados de sequenciais ass ncronos. O facto de um circuito ser constru do em torno de ip-ops (ou latches) n ao garante, por si s o, que o circuito n ao seja ass ncrono. Por exemplo, o circuito da Figura 16.2 e, tamb em, um circuito ass ncrono e, contudo, possui dois ip-ops edge-triggered.
1D 1D

Circuitos sequenciais ass ncronos

OUT H

QA H

C1

CLK H

C1

Figura 16.2: Logigrama de um circuito sequencial ass ncrono que utiliza ip-ops edge-triggered do tipo D
Os ip-ops do circuito est ao individualmente organizados como divisores de frequ encia por 2 pelo que, no conjunto, formam um contador ass ncrono de m odulo 4.

Com efeito, uma mudan ca de estado do segundo ip-op apenas pode ser consequ encia de uma mudan ca (um anco ascendente) na sa da do primeiro e ocorre, portanto assincronamente em rela ca o a ele. Mais uma vez se trata de um circuito sequencial ass ncrono, uma vez que n ao h a um sinal que coordene a mudan ca dos dois ip-ops. Os circuitos que nos v ao ocupar daqui para a frente s ao designados por circuitos sequenciais s ncronos. Um circuito sequencial s ncrono e um circuito que e baseado em ip-ops (ou em outros elementos de mem oria adequados) que reagem ao mesmo anco do rel ogio, ou seja, com interliga ca o das linhas de rel ogio de todos eles. O circuito da Figura 16.3 e exemplo de um circuito sequencial s ncrono.
1 & 1 &

Circuitos sequenciais s ncronos

Z H

X H
&

DA H

QA H
1D C1

&

DB H

1D C1

QB H

CLK H

Figura 16.3: Exemplo de circuito sequencial s ncrono

16.2. MODELO DE UM CIRCUITO SEQUENCIAL S INCRONO

283

16.2

Modelo de um Circuito Sequencial S ncrono

Como vimos anteriormente, os circuitos s ncronos podem ser caracterizados, em primeira an alise, por possu rem um conjunto de ip-ops (ou outros elementos de mem oria com as mesmas caracter sticas sem transpar encia) que reagem sincronamente aos ancos de comuta ca o dos impulsos de rel ogio aplicados simultaneamente a todos eles. Desta forma, os ip-ops garantem uma fun c ao de mem oria da sequ encia de valores l ogicos (ou n veis de tens ao el ectrica) aplicados a `s suas entradas externas, at e um determinado instante. No fundo, os ip-ops descrevem, a cada anco de comuta ca o do rel ogio, um novo estado do circuito que pode, eventualmente, ser igual ao anterior. Ter a de existir tamb em um m odulo de l ogica combinat oria que, em fun ca o dos n veis de tens ao (ou valores l ogicos) presentes nas entradas externas e do estado actual ou estado presente do circuito, permite determinar e apresentar aos ip-ops, para armazenagem, o pr oximo estado do circuito o seu estado seguinte. A esta l ogica combinat oria d a-se o nome de l ogica do estado seguinte. Por m, e necess ario um outro bloco de l ogica combinat oria que, tamb em em fun ca o do estado actual do circuito e dos n veis (valores l ogicos) presentes nas entradas externas, determina as sa das do circuito e a chamada l ogica de sa da. O modelo descrito na Figura 16.4 descreve a estrutura gen erica de um circuito sequencial s ncrono.
Fun c ao de mem oria Estado de um circuito s ncrono

Estado actual (presente) Estado seguinte L ogica do estado seguinte L ogica de sa da

Estado seguinte Entradas externas actuais CLK H L ogica do estado seguinte

L ogica de sa da

Sa das actuais

Mem oria (ip-ops) Estado actual

Figura 16.4: Modelo de um circuito sequencial s ncrono gen erico, onde se pode observar um conjunto de ip-ops sincronizados pelos mesmos ancos de comuta ca o, uma l ogica do estado seguinte e uma l ogica de sa da. As sa das dos ip-ops denem, em cada instante, o estado actual do circuito sequencial. As entradas dos ip-ops denem, directa ou indirectamente, o estado seguinte do circuito

16.3

An alise dos Circuitos Sequenciais S ncronos

Para a an alise de um circuito sequencial s ncrono parte-se do esquema el ectrico ou do logigrama do circuito e obt em-se descri co es de maior n vel de abstrac ca o,

284

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

que permitam concluir do comportamento do circuito em vez da sua estrutura, tal qual ela vem dada pelo logigrama ou pelo esquema el ectrico. O procedimento a seguir e relativamente linear:
Equa co es de excita c ao Equa co es de sa da

1. levantam-se do circuito as equa c oes de excita c ao dos ip-ops e as equa c oes da sa da do circuito; 2. com as equa c oes de excita ca o dos ip-ops estabelece-se uma tabela de excita c oes do circuito onde, para cada estado actual e para cada congigura ca o das entradas externas, se identicam os n veis de tens ao aplicados aos ip-ops; 3. a partir da tabela de excita co es do circuito elabora-se uma outra tabela onde, para cada estado actual e para cada congura ca o de entradas externas, se identica o estado seguinte do circuito e o n vel correspondente das sa das; essa tabela designa-se por tabela de transi c oes e de sa das; 4. a partir da tabela de transi c oes do circuito podemos, por codica c ao dos estados, obter uma tabela de estados e de sa das do circuito; 5. em alternativa a ` tabela de estados e de sa das, pode construir-se um grafo orientado representando os estados, as transi c oes entre estados e as sa das, a que se chama diagrama de estados. Vamos exemplicar a aplica ca o destas regras para o circuito anteriormente representado na Figura 16.3. es de excitac o dos flip-flops e equac es de sa 1. Equac o a o da f E acil de ver, a partir do logigrama do circuito, que se vericam as seguintes equa co es de excita ca o e de sa da: DA = QA X + QB X DB = QA X Z = (QA + QB ) X es do circuito 2. Tabela de excitac o O circuito possui dois ip-ops, pelo que poder a ter 4 estados. Na tabela de excita co es da Tabela 16.1 apresentam-se todos os estados do circuito e, para cada n vel de tens ao na entrada externa, representam-se os n veis de tens ao em DA H e em DB H. Notar como esta tabela traduz os circuitos combinat orios de excita ca o dos ip-ops, j a que toda ela e denida no instante t. es e de sa 3. Tabela de transic o das Como os ip-ops D assumem nas sa das os n veis de tens ao que t em presentes nas entradas s ncronas quando recebem o anco activo do impulso de rel ogio, e f acil perceber que a tabela de transi co es e igual, para estes ip-ops, a ` tabela de excita c oes. Obtemos, ent ao, a tabela de transi co es e de sa das do circuito na Tabela 16.2.

Tabela de excita co es do circuito

Tabela de transi c oes e de sa das Codica c ao dos estados Tabela de estados e de sa da

Diagrama de estados

16.3. ANALISE DOS CIRCUITOS SEQUENCIAIS S INCRONOS

285

Tabela 16.1: Tabela de excita c oes para o circuito da Figura 16.3


Estado actual QA H(t) QB H(t) L L H H L H L H N veis em DA e em DB X H(t) = L DA H(t) DB H(t) L L L L L L L L X H(t) = H DA H(t) DB H(t) L H H H H H L L

Tabela 16.2: Tabela de transi co es e de sa das para o circuito da Figura 16.3

Estado actual QA H(t) QB H(t) L L H H L H L H

Estado seguinte X H(t) = L QA H(t+1) QB H(t+1) L L L L L L L L X H(t) = H QA H(t+1) QB H(t+1) L H H H H H L L L H H H

Sa da Z H(t) X H(t) = L X H(t) = H

L L L L

Notar como os estados actuais e as sa das s ao denidas no instante t, e como os estados seguintes s ao denidos no instante t + 1. Por outro lado, reparar como as excita co es D(t) em cada ip-op (na Tabela 16.1) coincidem com as suas sa das Q(t+1) os estados seguintes da Tabela 16.2. Esta u ltima tabela j a constitui uma descri ca o comportamental do circuito ao longo do tempo, na medida em que apresenta a evolu ca o estado actual estado seguinte. Contudo, e ainda poss vel obter uma tabela de estados para o circuito ou ainda o seu diagrama de estados que, de forma mais abstracta e mais visual, permitem percepcionar o comportamento da m aquina sequencial que lhe corresponde. 4. Tabela de estados A partir da tabela de transi co es e de sa da podemos agora estabelecer uma tabela de estados e de sa das que, por vezes, e de forma abreviada, se designa apenas por tabela de estados da m aquina sequencial. Para tanto necessitamos de codicar previamente os estados da m aquina (e do circuito sequencial). Ou seja, vamos, de forma abstracta, designar cada congura ca o de estados dos ip-ops, no caso (QA H, QB H), por um nome arbitr ario.

Uma m aquina sequencial e uma abstrac ca o de um circuito sequencial s ncrono. Geralmente e descrita por um diagrama de estados ou por uma tabela de estados e de sa das. M aquina sequencial

Tabela de estados

286

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

Naturalmente, a codica ca o dos estados e, nesta fase de an alise, completamente usual designar os estados pelas primeiras letras do alfabeto latino arbitr aria. E (A, B , etc.), mas podemos dar-lhes quaisquer outras designa co es. Por exemplo, podemos fazer a codica ca o de estados expressa pela Tabela 16.3. Tabela 16.3: Tabela com a codica ca o de estados da m aquina sequencial que est a a ser analisada
Estado A B C D QA H L L H H QB H L H L H

Nesse caso obt em-se a tabela de estados da m aquina sequencial que vem descrita pela Tabela 16.4. Tabela 16.4: Tabela de estados para a m aquina sequencial que vem implementada pelo circuito da Figura 16.3
Estado actual A B C D Estado seguinte X=0 A A A A X=1 B D C C X=0 0 1 1 1 Z X=1 0 0 0 0

De notar que a tabela de sa das est a representada em l ogica positiva (com valores l ogicos em vez de n veis de tens ao), dado estarmos agora no dom nio alg ebrico, onde nos manteremos com o diagrama de estados que se segue. De notar ainda que a tabela de estados representa, de facto, uma m aquina sequencial abstracta, que pode ser implementada pelo circuito da Figura 16.3 ou por muitos outros circuitos sequenciais diferentes (por exemplo, que usem ip-ops JK em vez de ip-ops D, ou que usem ainda ip-ops D edge-triggered mas que comutem nos ancos descendentes). 5. Diagrama de estados O diagrama de estados da m aquina sequencial constr oi-se formando um grafo orientado com c rculos representrativos dos estados da m aquina e com setas a ligar estados, representando as transi co es entre os estados. Cada c rculo representativo de um estado conter a a inscri ca o desse estado. As transi co es entre estados s ao representadas por setas que v ao dos estados actuais para os estados seguintes. Junto a cada seta coloca-se uma indica c ao dos valores l ogicos (porque estamos no dom nio alg ebrico) das entradas externas que ocasionam essa transi ca o.

16.4. MODELOS DE MEALY E DE MOORE

287

Quanto aos valores l ogicos das sa das, v em associados aos valores l ogicos das entradas externas que ocasionam as transi co es, e separados deles por um s mbolo /. Na Figura 16.5 ilustra-se o diagrama de estados da m aquina sequencial que foi implementada pelo circuito da Figura 16.3.
Um estado actual 0/0 A 0/1 1/0 B Sa da actual, Z(t), no estado B

0/1

0/1

1/0

X/Z Entrada actual, X(t) , no estado B

C 1/0

1/0

D Um estado seguinte

Figura 16.5: Diagrama de estados do circuito sequencial s ncrono da Figura 16.3 Repare-se que, quer na tabela de transi co es, quer no diagrama de estados, a indica ca o do estado seguinte corresponde a um futuro que se concretizar a quando houver impulso de rel ogio (anco de comuta ca o), enquanto que a sa da se refere a ` situa ca o presente (actual). Por exemplo, se o circuito se encontrar no estado actual B com a entrada externa (actual) a 1, a sa da (actual) e 0 enquanto o circuito se mantiver no estado B . Quando vier o anco de comuta ca o, o circuito passa para o estado seguinte D e a sa da deixa de ser 0. De forma id entica, estando o circuito no estado actual B mas agora com a entrada externa (actual) a 0, a sa da (actual) e 1 enquanto o circuito se mantiver no estado B . Quando vier o anco de comuta ca o, o circuito passa para o estado seguinte A e a sa da deixa de ser 1. Ou seja, e em resumo, enquanto o circuito se encontrar no estado B , a sa da e sempre o complemento da entrada actual X(t) . De forma semelhanactual Z(t) te, concluir amos que outro tanto se passa quando o circuito est a nos estados C e D, mas que no estado A a sa da actual e sempre 0, independentemente do valor l ogico aplicado a ` entrada actual .

16.4

Modelos de Mealy e de Moore

O modelo da Figura 16.4 n ao e o u nico que existe para estruturar circuitos sequenciais s ncronos. Este modelo foi apresentado por Mealy e, por isso, e conhecido por modelo de Mealy. Repete-se na Figura 16.6 por comodidade. Com efeito, h a um outro modelo que, se bem que diferindo apenas num pequeno pormenor, d a origem a circuitos com um comportamento sensivelmente

Modelo de Mealy

288

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

Estado seguinte Entradas externas actuais CLK H L ogica do estado seguinte

L ogica de sa da

Sa das actuais

Mem oria (ip-ops) Estado actual

Figura 16.6: Modelo de Mealy um circuito sequencial s ncrono diferente dos concebidos em torno do modelo de Mealy. Esse modelo alternativo, representado na Figura 16.7, e designado por modelo de Moore, e a u nica diferen ca consiste na l ogica de sa da que e apenas fun ca o dos estados do circuito e n ao das entradas externas.

Modelo de Moore

Estado seguinte Entradas externas actuais CLK H L ogica do estado seguinte L ogica de sa da Estado actual Sa das actuais

Mem oria (ip-ops)

Figura 16.7: Modelo de Moore um circuito sequencial s ncrono Isso quer dizer que, no modelo de Moore, as sa das num dado instante n ao s ao sens veis aos valores l ogicos presentes nas entradas externas nesse instante, e o circuito na sa da reage apenas ao seu passado e n ao ao seu presente. Isso tem consequ encias interessantes, que conduzem a diferen cas entre os circuitos feitos segundo os dois modelos.

16.5

S ntese de Circuitos Sequenciais S ncronos

A s ntese de circuitos sequenciais s ncronos e feita de forma aproximadamente inversa a ` metodologia de an alise dos circuitos. O processo inicia-se pela formaliza ca o de um problema em termos de um diagrama ou de uma tabela de estados. A este n vel sabemos pouco da estrutura do circuito, e apenas nos interessa estabelecer o comportamento pretendido. Assim, o n vel de abstrac ca o do diagrama ou da tabela e adequado. Em geral prefere-se come car pelo diagrama, por ser mais intuitivo na fase de constru c ao que a tabela.

DE DIAGRAMAS DE ESTADOS 16.6. EXEMPLO DE CONCEPC AO

289

Obtido o diagrama passa-se a ` tabela de estados com o m de obter uma forma adequada a ` determina ca o das equa c oes do circuito. Voltaremos a esta quest ao com mais pormenor mais a ` frente neste texto. Para j a, na Sec ca o 16.6 procuraremos mostrar como conceber diagramas de estados.

16.6

Exemplo de Concep c ao de Diagramas de Estados

Exempliquemos o processo de constru ca o de um diagrama de estados com o seguinte problema: pretende-se obter um circuito que identique a ocorr encia da sequ encia bin aria 0101 na sua ( unica) entrada. Quando isso ocorrer, e s o nessas circunst ancias, a sua sa da deve exibir o valor 1. Temos, por conseguinte, um circuito sequencial s ncrono que podemos designar por detector da sequ encia 0101 para o qual sabemos que existe uma entrada (chamemos-lhe X ) e uma sa da (digamos, Z ), para al em, naturalmente, da entrada de rel ogio (Figura 16.8).
Detector da sequ encia 0101

X H

CLK H

Detector da sequ encia 0101

Z H

Figura 16.8: Diagrama de blocos do circuito sequencial s ncrono que detecta a sequ encia 0101 Em primeiro lugar, h a que optar por construir uma m aquina segundo o modelo ` primeira vista pode n de Mealy ou de Moore. A ao se vislumbrar qualquer diferen ca, mas uma an alise um pouco mais profunda mostra-a. Se estivermos perante um modelo de Moore, a sa da da m aquina s o passar a a 1 ap os o anco de rel ogio que surge quando est a presente o u ltimo bit da sequ encia, e esta tiver sido completamente identicada . Se optarmos por um modelo de Mealy, a sa da surge logo que aparece aquele u ltimo bit . Por outro lado, se o u ltimo bit da sequ encia tiver uma dura ca o encurtada, ent ao a sa da da m aquina de Mealy tamb em ter a uma dura c ao encurtada, enquanto que a m aquina de Moore ter a uma sa da com a dura ca o exacta de um per odo de rel ogio . Admitindo que o circuito e realizado com ip-ops que reagem nos ancos descendentes, teremos, ent ao, diagramas temporais diferentes consoante se opte por um ou outro modelo, como mostra a Figura 16.9. Na gura mostram-se as duas reac co es. No modelo de Moore, apesar do quarto bit da sequ encia estar presente quase desde o m do terceiro impulso de rel ogio apresentado, a reac ca o s o surge no quarto impulso. A sa da mant em-se a H enquanto o circuito se encontrar no estado para que transitou, isto e, mant em-se a H durante um per odo de rel ogio.

290

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

CLK H

X H

Z H (modelo de Moore)

Z H (modelo de Mealy)

Notas: (i) no caso de se optar por uma m aquina de Moore, a sa da Z H vem a H depois de aparecer o u ltimo bit da sequ encia, por em vem com a dura ca o de um per odo de rel ogio; (ii) no caso de se optar por uma m aquina de Mealy, a sa da Z H vem encurtada (com uma dura ca o inferior a um per odo de rel ogio) se a entrada X H vier a H muito tarde nesse per odo de rel ogio, por em vem coincidente com o u ltimo bit da sequ encia.

Figura 16.9: Diagramas temporais que ilustram a diferen ca de resultados obtidos na sa da do detector da sequ encia 0101 se se optar por um modelo de Mealy ou por um modelo de Moore. Admite-se que o circuito sequencial vem implementado com ip-ops edge-triggered que comutam nos ancos descendentes No modelo de Mealy, a sa da vem actualizada logo que surge o quarto bit da sequ encia (ou seja, a sa da vem a H praticamente em coincid encia com o u ltimo bit da sequ encia). E no pr oximo impulso o circuito inicia j a a busca de nova sequ encia. No entanto, a dura ca o da sa da a H depende da dura c ao do u ltimo bit da sequ encia. E se este bit vier encurtado em rela ca o ao per odo de rel ogio, ent ao a sa da a H tamb em vem encurtada.

16.6.1

Concep c ao de diagramas de estados: modelo de Moore

Comecemos, ent ao, por usar o modelo de Moore. Para construir um diagrama de estados h a que perceber inicialmente quantas entradas e sa das tem o circuito. Neste caso e f acil. Temos uma entrada e uma sa da. Isso quer dizer que cada estado ter a, para al em da sua designa ca o espec ca, tamb em a indica ca o da sua sa da associada. De cada estado sair ao dois arcos, que correspondem aos dois valores l ogicos da entrada (no caso das duas transi co es irem para o mesmo estado, pode usar-se apenas um arco do grafo). A concep ca o do diagrama de estados de uma m aquina sequencial s ncrona assenta apenas na an alise do comportamento pretendido. E vai sendo estruturado ao longo do processo. Aqui, por exemplo, iniciaremos o diagrama com um estado (Figura 16.10) que corresponde a ainda n ao ter surgido nenhum bit a ` entrada do circuito e que se chama, por isso, estado inicial. O estado inicial vem geralmente

Estado inicial

DE DIAGRAMAS DE ESTADOS 16.6. EXEMPLO DE CONCEPC AO

291

assinalado com uma seta que converge para ele. No nosso caso, o estado inicial ter a sa da 0, uma vez que n ao se vericam ainda as condi co es para a sa da vir a 1 (ainda n ao surgiu a sequ encia 0101).

A/0

Figura 16.10: Evolu ca o na constru ca o do diagrama de estados do detector da sequ encia 0101, usando um modelo de Moore. Come ca-se pelo estado inicial, designado arbitrariamente por estado A Repare-se que, neste momento, n ao temos qualquer informa ca o sobre o n umero de ip-ops que v ao ser usados no circuito e, portanto, n ao podemos sen ao usar uma designa ca o abstracta para cada um dos estados. Us amos a letra A para o estado inicial, mas pod amos, por exemplo, usar Espera ou qualquer outra designa ca o. No estado inicial podem ocorrer duas situa co es: ou surge um bit 0 na entrada ou surge um bit 1. Se surgir o bit 0, isso pode signicar o in cio da sequ encia que se pretende identicar, e ter a de ser memorizado. Logo, haver a que transitar da de B ser a 0, uma para um estado (B ou Primeiro Bit, por exemplo). A sa vez que ainda n ao se vericou a ocorr encia da sequ encia completa. No caso de surgir 1 no estado A, esse bit n ao e o in cio da sequ encia pretendida e, portanto, a m aquina vai continuar a ` espera do pr oximo 0, que pode ser o in cio de uma sequ encia. Com entrada 1 manter-nos-emos, assim, no estado A.

1 A/0 0 B/0

Figura 16.11: Evolu ca o na constru ca o do diagrama de estados do detector da sequ encia 0101, usando um modelo de Moore. Agora acrescentou-se um estado B e estabeleceram-se as transi co es que partem do estado A No estado B (Figura 16.12), se a entrada for 1 estamos no bom caminho para detectar a sequ encia e passamos para um estado C que signica que, at e esse estado, foram detectados os dois primeiros bits da sequ encia. Se, por em, a entrada for 0 no estado B , isso signica que esse 0 n ao e o segundo bit da sequ encia e, portanto, que o anterior 0 n ao era o primeiro bit da sequ encia. No entanto, pode acontecer que este 0 seja, ele pr oprio, o primeiro bit de uma sequ encia, como se pode ver no exemplo 00101 . . . Assim, nesse caso o circuito vai manter-se no estado B . No estado C , uma entrada a 0 conduz-nos ao estado D, onde ainda n ao se detectou completamente a sequ encia mas onde se detectaram j a 3 dos 4 bits. Uma entrada a 1 no estado C , por em, signica que n ao estamos a detectar qualquer sequ encia. Ao contr ario do que acontece com o 0 no estado anterior, este 1 n ao tem qualquer possibilidade de estar de alguma forma relacionado com a sequ encia. Portanto, recebido este 1, s o resta ao circuito voltar ao estado inicial e iniciar nova espera (Figura 16.13).

292

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

1 A/0 0

0 B/0 1 C/0

Figura 16.12: Evolu ca o na constru ca o do diagrama de estados do detector da sequ encia 0101, usando um modelo de Moore. Aos estados A e B foi acrescentado um terceiro estado, C , bem como as transi co es que partem de B
1 1 A/0 0 0 B/0 1 C/0 0 D/0

Figura 16.13: Evolu ca o na constru ca o do diagrama de estados do detector da sequ encia 0101, usando um modelo de Moore. Aos estados A, B e C foi acrescentado um quarto estado, D, bem como as transi co es que partem de C Se, agora, em D entrar um 1, a sequ encia e detectada e avan camos para um estado E (Figura 16.14) em que, nalmente, a sa da e 1. Se a entrada for 0 no estado D, a hip otese de se tratar da sequ encia n ao se verica e transita-se para o estado B pelas raz oes j a atr as expostas.
1 1 A/0 0 0 B/0 1 C/0 0 D/0 1 E/1

Figura 16.14: Evolu ca o na constru ca o do diagrama de estados do detector da sequ encia 0101, usando um modelo de Moore. Ainda precisamos de um estado E O estado E n ao e o m das entradas no circuito. Novos bits v ao ser presentes a entrada, pelo que ` e necess ario prever a evolu ca o a partir do estado E . Mas agora temos um pequeno problema devido a ` ambiguidade do enunciado. De facto, o que admitir quando entra um novo bit a 0? Uma primeira interpreta c ao e que, tendo acabado a sequ encia anterior, este bit pode ser o primeiro da pr oxima sequ encia. Nesse caso, transitar-se-ia para o estado B . Mas outra interpreta ca o surge se pretendermos considerar sequ encias sobrepostas. Nesse caso, como se ilustra a seguir,

0 1 0 1 0 1 0 1

podemos considerar que o bit 0 entrado no estado E e, n ao o primeiro, mas o

DE DIAGRAMAS DE ESTADOS 16.6. EXEMPLO DE CONCEPC AO

293

terceiro bit de uma nova sequ encia, o que nos faria transitar para D. Optaremos pela segunda hip otese, como mostra a Figura 16.15.
1 A/0 0 0 B/0 1 C/0 0 1 0 0 D/0 1 E/1

Figura 16.15: Vers ao nal do diagrama de estados do detector da sequ encia 0101, usando um modelo de Moore e admitindo sequ encias sobrepostas Repare-se que problemas de ambiguidade do tipo do exposto (e muito mais graves) s ao frequentes com descri co es dos problemas em linguagem corrente e, por isso, muito importante que, em qualquer problema portanto, informal. E, de engenharia, se comece por formalizar o que se pretende. Aqui, isso e feito usando o formalismo dos diagramas de estado.

16.6.2

Concep c ao de diagramas de estados: modelo de Mealy

Vamos agora refazer o exemplo anterior para um modelo de Mealy. Relembre-se que se pretende obter um circuito que identique a ocorr encia da sequ encia 0101 na sua entrada. Quando isso ocorrer, e s o nessas circunst ancias, a sua sa da deve exibir o valor 1. No modelo de Mealy a sa da depende n ao s o do estado mas tamb em dos valores l ogicos aplicados a ` entrada da m aquina. Assim, cada estado, ao contr ario do que acontece no modelo de Moore, n ao tem a sa da associada apenas a si. A sa da depende do valor na entrada. Por isso, o valor da sa da e colocado junto aos arcos de transi ca o, onde est ao as entradas. O estado inicial ser a, de novo, o estado A, como ilustra a Figura 16.16.

Figura 16.16: Evolu ca o na constru ca o do diagrama de estados do detector da sequ encia 0101, usando um modelo de Mealy. Come ca-se pelo estado inicial, designado por estado A Nesse estado podem surgir dois valores da entrada. Se a entrada for 0, evolui-se para o estado B pelas raz oes apontadas para a m aquina de Moore. Se a entrada for 1, mant em-se o circuito no estado A. Em qualquer dos casos a sa da e 0, como mostra a Figura 16.17. At e se atingir o estado D o racioc nio e semelhante ao anteriormente realizado (Figura 16.18).

294

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

1/0 A 0/0 B

Figura 16.17: Evolu ca o na constru ca o do diagrama de estados do detector da sequ encia 0101, usando um modelo de Mealy. Acrescentou-se um estado B e as transi co es que partem do estado A
1/0 1/0 A 0/0 B 1/0 C 0/0 D

0/0

Figura 16.18: Evolu ca o na constru ca o do diagrama de estados do detector da sequ encia 0101, usando um modelo de Mealy. Acrescentaram-se os estados C e D, e as transi co es que partem de B e de C

Agora, como se est a num modelo de Mealy, basta aparecer o valor 1 na entrada para a m aquina dar imediatamente sa da 1. Claro que a entrada 0 provoca a sa da 0 e faz o circuito evoluir de novo para B , admitindo que esse 0 possa ser o in cio de uma sequ encia (Figura 16.19).
1/0 1/0 A 0/0 B 1/0 C 0/0 0/0 D 1/1

0/0

Figura 16.19: Evolu ca o na constru ca o do diagrama de estados do detector da sequ encia 0101, usando um modelo de Mealy. Mantendo os estados A a D (n ao s ao necess arios mais estados), acrescentam-se mais transi co es admitindo sequ encias sobrepostas A transi ca o do estado D, neste modelo, e tamb em diferente. Repare-se que a sa da 1 j a foi considerada. Assim sendo, n ao e necess ario criar um estado apenas para garantir essa sa da. Do estado D pode, ent ao, transitar-se (admitindo sobreposi ca o de sequ encias) directamente para o estado C , que e caracterizado por j a ter entrado a sequ encia 01 (Figura 16.20). Voltando agora a ` an alise comparativa do comportamento dos circuitos projectados segundo os dois modelos referidos, detalha-se na Figura 16.21 um pouco mais o diagrama temporal da Figura 16.9, incluindo os estados que os circuitos v ao assumir. Como se v e, h a realmente um comportamento diferente dos dois circuitos, embora globalmente tenham a mesma funcionalidade.

16.7. S INTESE CLASSICA


1/0 1/0 A 0/0 B 1/0 C 0/0 0/0 0/0 1/1 D

295

Figura 16.20: Vers ao nal do diagrama de estados do detector da sequ encia 0101, usando um modelo de Mealy e admitindo sequ encias sobrepostas

CLK H

X H

Moore Z H

Mealy Z H

Figura 16.21: Diagramas temporais que ilustram a diferen ca de resultados obtidos na sa da do detector da sequ encia 0101 se se optar por um modelo de Mealy ou por um modelo de Moore. Nesta gura detalha-se a Figura 16.9, por inclus ao dos estados pelos quais as duas m aquinas passam

16.7

S ntese Cl assica

A s ntese de circuitos sequenciais s ncronos passa por uma s erie de passos que permitem passar de uma descri c ao informal de um problema para a implementa ca o f sica de um circuito que tem o comportamento pretendido. H a v arios m etodos para realizar essa passagem. O mais cl assico descreve-se e exemplica-se de seguida. 1. Diagrama de estados do circuito . Trata-se de estabelecer o comportamento pretendido num modelo formal, n ao amb guo, que permite validar o que se pretende como comportamento. Trata-se de um passo opcional, uma vez que se pode, em alternativa, obter directamente a tabela de estados (ver a seguir). Mas e mais frequente e muito mais intuitivo construir o diagrama do que a tabela. 2. Tabela de estados e de sa das do circuito . A tabela de estados e de sa das obt em-se a partir do diagrama de estados, se o processo foi iniciado pelo diagrama de estados. Continuamos ao nivel comportamental, mas a tabela adapta-se perfeitamente a ` obten ca o do logigrama nal para o circuito.

296

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

3. Escolha dos ip-ops . Trata-se de determinar o n umero de ip-ops necess ario para suportar os estados da m aquina, e de escolher o seu tipo. Como e sabido, o n umero m nimo de ip-ops que e necess ario prever eo menor inteiro que e maior ou igual ao logaritmo na base 2 do n umero de estados da m aquina. Quanto ao tipo de ip-ops a utilizar no circuito, n ao existe nenhuma maneira de garantir que um determinado tipo de ip-op conduz a `s equa c oes de excita ca o mais simples (ver, contudo, o coment ario nesta etapa que se gera a tabela de excita da p agina 244). E c oes dos ip-ops escolhidos. 4. Codica c ao dos estados . Em princ pio, qualquer codica ca o serve. A cada codica ca o corresponder a, contudo, um circuito diferente e, naturalmente, algumas codica c oes v ao gerar circuitos mais simples, enquanto outras dar ao origem a circuitos mais complexos. Contudo, n ao se disp oe de um algoritmo simples que permita determinar a congura ca o que conduz ao circuito m nimo. Nesta etapa obtemos a tabela de transi co es e de sa das do circuito. 5. Tabela de excita co es do circuito . Depois de codicados os estados, obtemos uma tabela de excita co es do circuito a partir da tabela de transi co es anterior e da tabela de excita co es dos ip-ops escolhidos. Trata-se de uma tabela que descreve os n veis de tens ao a aplicar a `s entradas s ncronas dos ip-ops para que o comportamento temporal do circuito seja o que se estabeleceu na tabela de transi co es. Trata-se, pois, de uma tabela que descreve os circuitos combinat orios de excita ca o dos ip-ops, uma vez que na tabela todas as fun co es s ao descritas no mesmo instante t. 6. Equa c oes de excita ca o dos ip-ops . Uma vez que a tabela de excita c oes do circuito descreve as excita co es a aplicar num instante t gen erico aos ip-ops em fun c ao dos seus estados no mesmo instante, podemos assim desenhar quadros de Karnaugh para as excita c oes e obter as correspondentes equa co es l ogicas. 7. Equa c oes de sa da do circuito . Obt em-se as equa co es das sa das do circuito a partir da tabela de transi co es e de sa da (de notar que, nessa tabela, as sa das num instante t s ao denidas em fun ca o dos estados dos ip-ops no mesmo instante). 8. Logigrama ou esquema el ectrico . Desenha-se em seguida o logigrama do circuito, se necess ario o seu esquema el ectrico. Para exemplicar o processo vai-se obter o circuito correspondente a um dos diagramas de estados obtidos na sec ca o anterior. Ilustrar-se-` a a constru ca o utilizando ip-ops D e ip-ops JK. O diagrama de estados que se vai utilizar e o da m aquina de Mealy da Figura 16.20, que por comodidade se repete na Figura 16.22.

16.7.1

S ntese Cl assica com Flip-ops D

A tabela de estados e de sa das que se obt em do diagrama de estados e lida directamente do diagrama (Tabela 16.5). O u nico pormenor a ter em conta e que as sa das s ao vistas na tabela como correspondentes a determinados pares

16.7. S INTESE CLASSICA


1/0 1/0 A 0/0 B 1/0 C 0/0 0/0 0/0 1/1 D

297

Figura 16.22: Diagrama de estados de Mealy do detector da sequ encia 0101 com sequ encias sobrepostas, a implementar com ip-ops do tipo D e do tipo JK (estado actual, entrada actual), isto e, com tudo denido no mesmo instante, t. Pelo contr ario, para os mesmos pares (estado actual, entrada actual) no instante t, os estados seguintes s ao denidos no instante t + 1. Tabela 16.5: Tabela de estados e de sa das para o detector de sequ encias de Mealy da Figura 16.22
EA ES/Z X=0 A B C D B/0 B/0 D/0 B/0 X=1 A/0 C/0 A/0 C/1

De notar, nesta tabela, como a sa da vem a 0 nos estados actuais A, B e C , e como ela vem igual a X no estado D, algo a que j a tinhamos aludido anteriormente a prop osito da leitura dos diagramas de estado das m aquinas de Mealy (ver, por exemplo, os coment arios nais da Sec ca o 16.3, tecidos a prop osito do diagrama de estados da Figura 16.5). Como o circuito tem quatro estados, precisamos de dois ip-ops (22 = 4), que ser ao designados por Q1 e por Q0. A determina ca o das congura co es dos estados dos ip-ops que suportam cada estado do circuito (a codica ca o dos estados) n ao tem, como se disse atr as, nenhuma metodologia de resultados garantidos para a obten ca o do circuito mais simples. O uso de algum bom senso pode, contudo, ajudar. Por exemplo, no nosso caso o estado A e o estado inicial. O estado inicial ter a de ser alcan cado no in cio do funcionamento do circuito, actuando as entradas directas (ass ncronas) dos ip-ops. Porque alguns ip-ops comerciais apresentam apenas entrada de CLEAR, parece razo avel escolher, para o estado A, a congura ca o Q1 = 0 e Q0 = 0. Por outro lado, a sa da vale 1 apenas num lugar da tabela, quando a m aquina est a no estado actual D e X = 1. A fun ca o mais simples que se pode conceber e, ent ao, o produto l ogico entre as sa das dos ip-ops e a vari avel de entrada. Para isso, conviria que o estado D fosse codicado com Q1 = 1 e Q0 = 1, o que permite gerar uma fun ca o muito simples de implementar, Z = X Q1 Q0.

298

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

Vari aveis de estado

As restantes congura ca o s ao irrelevantes com o nosso conhecimento actual do circuito. Assim sendo, escolhe-se, por exemplo, a codica ca o dos estados que se apresenta na Tabela 16.6 (` as sa das dos ip-ops e usual chamar vari aveis de estado do circuito).

Tabela 16.6: Tabela com a codica ca o dos estados do detector de sequ encias de Mealy da Figura 16.22
Estado A B C D Q1 H L L H H Q0 H L H L H

Substituindo, na anterior tabela de estados do circuito, os estados do circuito pelos estados dos ip-ops obt em-se a tabela de transi co es e de sa das da Tabela 16.7. Tabela 16.7: Tabela de transi co es e de sa das do detector de sequ encias de Mealy da Figura 16.22
EA X H(t) = L Q1 H(t) Q0 H(t) L L H H L H L H Q1 H(t+1) Q0 H(t+1) / Z H(t) L L H L H H H H / / / / L L L L ES/Z X H(t) = H Q1 H(t+1) Q0 H(t+1) / Z H(t) L H L H L L L L / / / / L L L H

Esta tabela mostra-nos como dever ao evoluir as vari aveis de estado para satisfazer o comportamento pedido para o circuito. Para em seguida obtermos a tabela de excita co es do circuito, consideremos o seguinte: como sabemos da Sec ca o 13.2 (ver a Tabela 13.3), para conseguir que um ip-op D assuma um determinado n vel de tens ao na sa da Q H depois de ocorrido um anco de comuta ca o, basta colocar na entrada s ncrona esse n vel de tens ao antes de ocorrer o anco. Por isso, para passar da tabela de transi co es anterior para a tabela de excita co es do circuito, basta mudar o nome das colunas, como se faz na Tabela 16.8. De notar que se retiraram desta tabela as sa das do circuito, dado que as podemos gerar a partir da tabela de transi co es e de sa das anteriormente obtida. Podemos agora obter as equa co es l ogicas de D1, de D0 e de Z em fun ca o de

16.7. S INTESE CLASSICA

299

Tabela 16.8: Tabela de excita c oes do detector de sequ encias de Mealy da Figura 16.22 que usa ip-ops do tipo D
EA Excita co es dos ip-ops X H(t) = L Q1 H(t) Q0 H(t) L L H H L H L H D1 H(t) D0 H(t) L L H L H H H H X H(t) = H D1 H(t) D0 H(t) L H L H L L L L

Q1, de Q0 e de X recorrendo aos quadros de Karnaugh da Figura 16.23: D1 = X Q0 + X Q1 Q0 D0 = X Z = X Q1 Q0

X Q1 Q 0
0

0
4

1 0
5

X Q1 Q0
0

0
4

1 0
5

X Q1 Q 0
0

0
4

1 0
5

00
1

0 0
3 7

00
1

1 1
3 7

00
1

0 0
3 7

01 11
2

1 1
6

01 11
2

0 0
6

01 11
2

0 1
6

0 1 D1

1 1 D0

0 0 Z

10

10

10

Figura 16.23: Quadros de Karnaugh para as excita c oes dos ip-ops D e para a sa da do detector de sequ encias de Mealy da Figura 16.22 Finalmente, podemos desenhar na Figura 16.24 o logigrama do detector de sequ encias que temos vindo a sintetisar. Notemos que guard amos at e esta altura a decis ao sobre o modo de actua ca o dos ip-ops cujo tipo foi anteriormente escolhido. Ou seja, todo o processo de s ntese anterior apenas necessitou de saber que us amos ip-ops do tipo D. S o quando queremos desenhar o logigrama e que temos de decidir se s ao ip-ops master-slave ou edge-triggered, a comutar nos ancos ascendentes ou descendentes . No logigrama do nosso detector de sequ encias escolhemos, arbitrariamente, utilizar ip-ops D edge-triggered a comutar nos ancos descendentes.

300

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

1 &

Z H X H
1D C1 R & 1 1D C1 R

Q0 H

Q1 H

CLK H RESET L

Figura 16.24: Logigrama do detector de sequ encias de Mealy que utiliza ip-ops D

16.7.2

S ntese Cl assica com Flip-ops JK

Como e evidente, todos os passos at e a ` deni ca o da tabela de transi co es e de sa das do circuito (Tabela 16.7) s ao id enticos ao caso em que se trabalha com ip-ops D. Naturalmente, agora precisamos de utilizar a tabela de excita co es dos ip-ops JK (Tabela 14.6 na p agina 245), em vez da tabela correspondente dos ip-ops D. Combinando a tabela de transi co es e a tabela de excita co es dos ip-ops JK, obt em-se uma tabela de excita c oes do circuito id entica a ` da Tabela 16.8 em que se especica o n vel de tens oes a aplicar a `s entradas dos ip-ops para obter a evolu ca o pretendida. Por exemplo para o quadrado assinalado a negrito na Tabela 16.9, indicam-se os n veis de tens ao a colocar nas entradas s ncronas J H e K H dos dois ip-ops para que o estado do primeiro se mantenha a L e o do segundo evolua de L para H, como especicado na parte esquerda da tabela para o estado actual (L,L) e entrada actual X H = L. Obtemos, assim, uma tabela em que temos a epecica ca o dos n veis a aplicar a J e a K em fun c ao dos estados actuais e da entrada actual. Tal como anteriormente, podemos obter os mapas de Karnaugh para os J e K na Figura 16.25 e as equa co es J 1 = X Q0 K 1 = X Q0 + X Q0 = X Q0 J0 = X K0 = X . A equa ca o da sa da Z e id entica a ` obtida para os ip-ops D, uma vez que a fun ca o de sa da n ao se altera com o tipo de ip-ops. O circuito ter a, portanto, o logigrama da Figura 16.26. Como se pode observar, o circuito total possui complexidade id entica a ` do circuito obtido com ip-ops D. Deve, contudo, recordar-se a nota ` a margem da p agina 244, que arma que e mais prov avel obter circuitos de excita c ao mais simples se se utilizarem ip-ops JK.

16.8. S INTESE COM UM FLIP-FLOP POR ESTADO

301

Tabela 16.9: Constru ca o da tabela de excita co es do detector de sequ encias de Mealy da Figura 16.22, com a utiliza ca o de ip-ops JK, a partir da tabela de transi co es do circuito

EA X H(t) = L Q1 H(t) Q0 H(t) L L H H L H L H Q1 H(t+1) Q0 H(t+1) L L H L H H H H

ES X H(t) = H Q1 H(t+1) Q0 H(t+1) L H L H L L L L Tabela de excita co es Tabela de transi c oes

EA X H(t) = L Q1 H(t) Q0 H(t) L L H H L H L H

Excita co es dos ip-ops X H(t) = H J1 H(t) K1 H(t) J0 H(t) K0 H(t) L H H L L L H H

J1 H(t) K1 H(t) J0 H(t) K0 H(t) L L X L H H H X L L

16.8

S ntese com um Flip-op por Estado

Uma forma alternativa de implementar um circuito sequencial s ncrono consiste em utilizar um ip-op D por cada estado do circuito. Trata-se de um m etodo que n ao garante a simplica ca o do logigrama do circuito, mas que e bastante estruturado e permite realiza co es interessantes com os componentes program aveis actualmente dispon veis. Por outro lado, com circuitos que tenham muitas entradas ou estados, pode mesmo ser a metodologia mais adequada por n ao obrigar a uma vis ao global do circuito na fase de concep ca o, e por conduzir a uma s ntese muito simplicada n ao h a, neste m etodo, que estabelecer as tabelas de transi co es e de sa das, nem as tabelas de excita ca o do circuito, nem os mapas de Karnaugh para as excita co es e sa das, que podem ter dimens oes muito grandes se o n umero de entradas e de estados for elevado. A exist encia de um ip-op por cada estado do circuito, e claro, conduz a mais ip-ops do que os que s ao necess arios com as metodologias anteriores. Em cada momento, s o um dos ip-ops v e a sua sa da Q H activada, e esse ip-op determina o estado em que o circuito se encontra. No estado inicial h a que activar a sa da do respectivo ip-op (o ip-op que corresponde ao estado inicial) e desactivar os restantes. A simplicidade de s ntese que este m etodo permite resulta de podermos p or em

Se olharmos para as sa das dos n ip-ops do circuito, apenas com uma activa e todas as outras inactivas em cada impulso de rel ogio, e como se estivessemos a descrever as diversas palavras de um c odigo 1-em-n.

302

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS


X Q 1 Q0
0

0
4

1 0
5

X Q1 Q 0
0

0
4

1
5

00
1

0 0
3 7

00
1


3 7

01 11
2

1
6

01 11
2

0
6

J1

1 0 K1

10

10

X Q 1 Q0
0

0
4

1 0
5

X Q1 Q 0
0

0
4

1
5

00
1

1
3 7

00
1

0
3 7

01 11
2

01 11
2

1 1
6

1 J0

0 K0

10

10

Figura 16.25: Quadros de Karnaugh para as excita co es dos ip-ops JK e para a sa da do detector de sequ encias de Mealy da Figura 16.22

1 &

Z H

X H
1J C1 1K R

&

Q0 H
=1

1J C1 1K R

Q1 H

CLK H RESET L

Figura 16.26: Logigrama do detector de sequ encias de Mealy que utiliza ip-ops JK correspond encia biun voca determinadas partes do diagrama de estados e partes do logigrama nal do circuito. Vamos examinar as principais.
Transi ca o incondicional

Na Figura 16.27(a) representa-se uma transi c ao incondicional do estado A para o estado B (por transi ca o incondicional entende-se uma transi ca o que n ao e condicionada pelos valores l ogicos nas entradas externas). A gura representa as duas nota co es poss veis para este tipo de transi ca o, admitindo que apenas uma entrada externa, X , est a em jogo. A Figura 16.27(b), por seu lado, ilustra o tro co de logigrama equivalente a ` transi ca o, com uma liga ca o directa do ip-op A ao ip-op B .

16.8. S INTESE COM UM FLIP-FLOP POR ESTADO


X=0 A X=1 B A
1D C1

303

B
1D C1

X=

B (b)

(a)

Figura 16.27: (a) Uma transi ca o incondicional do estado A para o estado B no diagrama de estados (isto e, uma transi ca o que n ao depende dos valores l ogicos na entrada X ), tem por correspond encia (b) um tro co do logigrama (com um ip-op por estado) que se traduz pela liga ca o do ip-op A ao ip-op B Relembrando que, numa implementa c ao com um ip-op por estado, apenas um ip-op de cada vez tem a sua sa da Q H activada, constatamos que, se num determinado impulso de rel ogio e o ip-op A que tem a sa da activa e, portanto, a sa da de B est a inactiva, no impulso de rel ogio seguinte os ip-ops v eem as suas sa das com as actividades respectivas trocadas. A Figura 16.28 ilustra um outro tipo de transi ca o, designada por transi c ao condicionada ou Fork.
X H X=0 A X=1 B A
1D C1 & &

Transi ca o condicionada ou Fork

B
1D C1

C
1D C1

(a)

(b)

Figura 16.28: (a) Uma transi ca o do estado A para um dos estados B ou C condicionada aos valores l ogicos numa entrada, X , tem por correspond encia (b) um tro co do logigrama (com um ip-op por estado) que se traduz pela liga ca o do ip-op A aos ip-ops B ou C consoante o valor l ogico aplicado a X Trata-se de uma transi ca o que depende dos valores l ogicos aplicados ` as entradas externas num determinado estado. Na gura apresenta-se a transi ca o do estado A para os estados B ou C , condicionada ao valor l ogico aplicado numa u nica entrada, X , quando o circuito est a no estado A. De notar que era poss vel estender este conceito a mais do que uma entrada, c oes a por em tendo em aten ca o que k entradas externas d ao origem a 2k transi partir do estado de origem: nesse caso pod amos usar um demultiplexer controlado pelas entradas para encaminhar a sa da do estado de origem para um dos 2k estados de destino .

304

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

Relembrando, mais uma vez, que numa implementa ca o com um ip-op por estado, apenas um ip-op de cada vez tem a sua sa da Q H activada, constatamos que, se num determinado impulso de rel ogio e o ip-op A que tem a sa da activa e, portanto, as sa das de B e de C est ao inactivas, no impulso de rel ogio seguinte um dos ip-ops B ou C (mas apenas um deles) v e a sua sa da activada, consoante o valor da entrada X no estado A.
Converg encia ou Join

A Figura 16.29 ilustra um terceiro tipo de transi c ao, designada por converg encia ou Join.
A
1D

C1

C
1D

B
1D C1

C1

(a)

(b)

Figura 16.29: (a) Uma transi ca o do estado A ou do estado B para o estado C (converg encia), tem por correspond encia (b) um tro co do logigrama (com um ip-op por estado) que se traduz pela liga c ao do ip-op A ou do ip-op B ao ip-op C Trata-se de transi co es alternativas que n ao dependem dos valores l ogicos aplicados a `s entradas externas. Na gura apresenta-se a transi ca o do estado A ou do estado B para o estado C , pelo que se utiliza uma porta OR para assegurar a converg encia. Dado que numa implementa ca o com um ip-op por estado, como sabemos, apenas um ip-op de cada vez tem a sua sa da Q H activada, vericamos que, se num determinado impulso de rel ogio e o ip-op A (o ip-op B ) que tem a sa da activada e, portanto, as sa das de B (de A) e de C est ao inactivas, no impulso de rel ogio seguinte ser a o ip-op C que v e a sua sa da activada. Em qualquer dos casos, ser a sempre a vez de C vir activado depois de A ou de B . Finalmente, consideremos a gera ca o das sa das, em que temos quatro casos, ilustrados na Figura 16.30.
Sa das de Mealy

Nas Figuras 16.30(a) e (b) representam-se sa das de Mealy ou sa das condicionadas, porque dependem dos valores l ogicos aplicados ` as entradas (apenas uma entrada e uma sa da est ao representadas nessas guras). Assim, na Figura 16.30(a) temos Z = X no estado A, enquanto que na Figura 16.30(b) temos Z = X no mesmo estado A. Por seu turno, nas Figuras 16.30(c) e (d) representam-se sa das de Moore ou sa das incondicionais, porque n ao dependem dos valores l ogicos aplicados a `s entradas. Por exemplo, na Figura 16.30(c) temos Z = 0 no estado A, enquanto que na Figura 16.30(d) temos Z = 1 no estado A, em ambos os casos de forma independente do valor na entrada X nesse estado.

Sa das de Moore

16.9. FLUXOGRAMAS
Sa das de Mealy Sa das de Moore

305

X/Z 0/0 A 1/1 (a) A

X/Z 0/1 A 1/0 (b)

X/Z 0/0 A 1/0 (c)

X/Z 0/1

1/1 (d)

Figura 16.30: (a) e (b) Sa das de Mealy, porque os seus valores dependem dos valores nas entradas (apenas uma entrada e uma sa da se encontram representadas); e (c) e (d) sa das de Moore, que n ao dependem dos valores nas entradas A gera ca o das sa das e diferente para os quatro casos, como mostra a Figura 16.31. Retomemos agora na Figura 16.32 o diagrama de estados do detector de sequ encias de Mealy da Figura 16.22, e vamos sintetiz a-lo directamente (com um ip-op por estado), utilizando os conhecimentos entretanto adquiridos sobre a gera ca o de partes do logigrama do circuito. Come camos por considerar, na Figura 16.33, os 4 ip-ops correspondentes aos 4 estados. Na gura inclui-se j a a inicializa ca o do circuito, fazendo o Set do ip-op A e o Reset dos outros. Para come carmos a construir o logigrama, pensemos no seguinte. Para al em da inicializa c ao, entra-se no estado A por dois caminhos possiveis, como se pode ver do facto de para ele convergirem duas setas no diagrama de estados: vai-se para A se o circuito estiver no estado A e a entrada X for 1, ou se estiver no estado C e X = 1. Esta dupla condi ca o podecolocar-se directamente no logigrama do circuito, como mostra a Figura 16.34. Por outro lado, ao estado B chega-se por tr es caminhos poss veis, como ilustrado na Figura 16.35: do estado A com X = 0, do estado B com X = 0, ou do estado D com X = 0. O resto do circuito e, agora, simples de obter (Figura 16.36).

16.9

Fluxogramas

Uma forma alternativa de especicar circuitos sequenciais utiliza uxogramas que, no fundo, s ao formas alteradas de diagramas de estados. Os uxogramas s ao representa co es mais compactas que os diagramas de estados, mas cont em a mesma informa ca o. Com os uxogramas procura-se, em cada situa ca o, apresentar apenas a informa ca o relevante, o que os torna particularmente u teis quando o n umero de entradas e de sa das e elevado.

306

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

0/0 A X/Z 1/1

X H A
1D C1

&

Z H Z=X no estado A (a)

0/1 (b) A X/Z 1/0

X H A
1D C1

&

Z H Z = X no estado A

0/0 A A X/Z 1/0


1D C1

Z H Z=L no estado A

(c)

(d) A

0/1 X/Z 1/1 A


1D C1

Z H Z=H no estado A

Figura 16.31: (a) e (b) A gera ca o de uma sa da de Mealy necessita de uma porta AND com a polaridade adequada na entrada que est a ligada a ` entrada externa; por em, (c) e (d) as sa das de Moore dispensam a exist encia de portas AND
1/0 1/0 A 0/0 B 1/0 C 0/0 0/0 0/0 1/1 D

Figura 16.32: Diagrama de estados de Mealy do detector da sequ encia 0101 com sequ encias sobrepostas, a implementar usando um ip-op por estado

Com efeito, como j a sabemos, os diagramas de estado aumentam exponencialmente as suas dimens oes com o aumento do n umero de entradas externas, visto que, de cada estado actual, devem partir 2k transi co es para os estados seguintes, se k for o n umero de entradas externas. Por outro lado, precisamos de indicar, para cada transi ca o (num diagrama de Mealy) ou para cada estado (num dia-

16.9. FLUXOGRAMAS
A
1D C1

307

S R

CLK H INIT L

B
1D C1

S R

C
1D C1

S R

D
1D C1

S R

Figura 16.33: Constru ca o do logigrama do detector da sequ encias de Mealy da Figura 16.32, usando um ip-op por estado. Nesta fase, apenas se incluem os ip-ops e a inicializa ca o do circuito grama de Moore), os n veis de tens ao (ou valores l ogicos) em todas as sa das, o que torna dif cil a leitura do diagrama. Num uxograma, pelo contr ario, n ao se indicam todas as entradas (e transi co es) a partir de um dado estado actual, mas apenas as que s ao relevantes. Segue-se que o n umero total de transi co es vem, com um uxograma, substancialmente reduzido. Identicamente, em cada estado actual ou transi ca o a partir desse estado apenas se indicam, num uxograma, as sa das que est ao activas, o que facilita consideravelmente a sua leitura. Num uxograma um estado e representado por um rect angulo, e as entradas surgem em losangos que representam decis oes. As sa das, no caso dos modelos de Moore, s ao representadas dentro dos estados. No caso dos modelos de Mealy, s ao representadas por um s mbolo pr oprio formado por um rect angulo com os lados substitu dos por arcos de circunfer encia. Exempliquemos com o seguinte caso: considere-se uma estrada de montanha t ao estreita que apenas deixa passar uma viatura. A estrada e, como quase todas as estradas, de sentido duplo na plan cie, mas e de sentido u nico na zona de montanha (Figura 16.37, na p agina 310).

308

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

&

A
1D C1

X H

S R

CLK H INIT L

B
1D C1

S R

C
1D C1

S R

D
1D C1

S R

Figura 16.34: Continua ca o da constru ca o do logigrama anterior, agora com as excita co es no estado A Para resolver o problema instalaram-se duas cancelas nos dois extremos do tro co estreito. H a seis detectores (sensores) na estrada nos locais assinalados por D1 a D6, e dois sem aforos designados por S 1 e S 2. O funcionamento pretendido para o circuito de controlo das cancelas e o seguinte: as cancelas est ao normalmente fechadas, e os sem aforos S 1 e S 2 normalmente em vermelho. Quando surge uma viatura, por exemplo do lado esquerdo, pisa o detector D1. Se n ao houver nenhum carro a deslocar-se no tro co estreito, o sem aforo S 1 passa a verde, a cancela C 1 abre, e a viatura entra. Logo que passa no detector D2, essa barreira e fechada, o sem aforo volta a vermelho e a situa ca o ca est avel neste estado at e a viatura sair do sistema. Quando a viatura chega ao detector D3, a cancela C 2 abre e permanece aberta at e a viatura pisar o detector D4. Ent ao, a cancela fecha. Se entretanto chegar uma viatura a qualquer dos lados, espera que a primeira saia e s o ent ao se inicia de novo o processo no mesmo sentido ou no sentido inverso, conforme o sentido de chegada da viatura. No caso de chegarem duas viaturas ao mesmo tempo, d a-se prioridade ao sentido da esquerda para a direita.

16.9. FLUXOGRAMAS

309

&

A
1D C1

X H

H
& 1

S R

B
1D C1

S R

C
1D C1

S R

CLK H INIT L H

D
1D C1 S R

Figura 16.35: Continua ca o da constru ca o do logigrama anterior, com as excita co es no estado B Esta u ltima especica ca o serve para simplicar o uxograma (depois de perceber como funciona o m etodo, tente refazer o problema dando prioridade ao sentido inverso ao da u ltima passagem). Como e evidente, e dif cil desenhar um diagrama de estados para este circuito, uma vez que o circuito tem 6 entradas (os detectores, j a que as cancelas e os co es a partir de cada sem aforos s ao sa das) e, por conseguinte, 26 = 64 transi um dos estados. Por isso, o uxograma e mais interessante do que o diagrama de estados, uma vez que em cada estado se vai ter em conta apenas a ou as entradas relevantes para a evolu ca o a partir desse estado . Aos estados podem ser dadas designa co es apropriadas. No caso de um modelo de Moore, as sa das e os correspondentes n veis de actividade s ao indicadas nos estados. Por em, em cada estado apenas se indicam as sa das que est ao activas , o que permite simplicar consideravelmente a leitura do uxograma. Assim, parte-se de um estado inicial, E 0, em que o circuito espera que surja uma viatura. A partir desse estado h a tr es hip oteses de evolu ca o: n ao surge viatura alguma e continua-se no mesmo estado; ou

310

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

&

A
1D C1

X H
1

H
& 1

S R

B
1D C1

S R

&

C
1D C1

H CLK H

S R

& & D
1D C1

Z H

H INIT L

S R

Figura 16.36: Logigrama nal do detector da sequ encias de Mealy da Figura 16.32, implementado com um ip-op por estado
D6 D2 D3 S2 D5

C1

C2

S1 D1 D4

Figura 16.37: Uma estrada de montanha com duas cancelas, C 1 e C 2, seis sensores (detectores), D1 a D6, e dois sem aforos, S 1 e S 2 surge uma viatura detectada por D1 do lado esquerdo inicia-se o processo de atravessamento da esquerda para a direita; ou surge uma viatura detectada por D5, e n ao h a viatura em D1 inicia-se o

16.9. FLUXOGRAMAS processo de atravessamento da direita para a esquerda.

311

Este in cio pode ser, assim, especicado pela parte do uxograma da Figura 16.38.

E0

Espera

H E1 C1 H, S1 H

D1 H

D5 H E5 H C2 H, S2 H

Figura 16.38: In cio do uxograma de Moore de controlo do sistema da Figura 16.37 Admite-se que todas as entradas e sa das s ao activas a H e que: (i) a activa ca o de uma cancela signica levant a-la; e que (ii) a activa c ao de um sem aforo signica p o-lo verde. Repare-se que, no estado E 0, se colocou um coment ario indicando que o estado e o de Espera inicial. Por outro lado, as sa das nesse estado est ao todas desactivadas, o que signica que as duas cancelas est ao baixadas e que os dois de facto, a situa sem aforos est ao vermelhos. E ca o inicial do sistema. No estado E 1 a sa da C 1 vem activada (o que corresponde a levantar a cancela) e a sa da S 1 tamb em (o que corresponde ao sem aforo verde). Por outro lado, neste estado C 2 e S 2 est ao inactivas, o que signica que a cancela da direita na Figura 16.38 est a baixada e que o sem aforo correspondente est a vermelho. Em E 5 s ao as sa das C 2 e S 2 que v em activas e C 1 e S 1 que v em inactivas, e os pap eis das cancelas e dos sem aforos v em trocados em rela ca o aos do estado E 1. O estado E 1 corresponde ao in cio do atravessamento da esquerda para a direita, e E 5 ao in cio do atravessamento da direita para a esquerda. O resto do uxograma deve ser mais ou menos evidente (Figura 16.39). De real car o seguinte em rela ca o a ` parte esquerda do uxograma (conclus oes semelhantes podem ser extra das da an alise da parte direita): no estado E 2 a viatura j a entrou na estrada de montanha, as cancelas est ao fechadas e os sem aforos est ao vermelhos; no estado E 3 a viatura ainda est a no tro co de montanha, mas j a pisou o sensor D3, pelo que a cancela C 2 abre;

312

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

E0

Espera

H E1 C1 H, S1 H

D1 H

D5 H H

D2 H H

E5 C2 H, S2 H

E2 D3 H H L D3 H H E3 C2 H D2 H H L D4 H H E4 D6 H H L D4 H H E8 L E7 C1 H L E6 L

D6 H

Figura 16.39: Fluxograma de Moore de controlo das cancelas e dos sem aforos da Figura 16.37

Por exemplo, se a frequ encia de rel ogio for de 1 MHz, ou seja, se o per odo de rel ogio for de 1 s, o circuito d a 106 voltas ao estado E 4 num segundo.

no estado E 4 a viatura est a prestes a sair do tro co de montanha para a estrada com duas vias, porque j a pisou o sensor D4; a cancela C 2 fecha, o sem aforo S 2 continua vermelho e as condi co es na cancela e no sem aforo da esquerda da Figura 16.37 mant em-se; neste estado espera-se que a viatura deixe de pisar o sensor D4 enquanto estiver a pis a-lo, o que pode demorar v arios ciclos de rel ogio, o circuito mant em-se no estado E 4, e s o quando deixar de o pisar e que o circuito se reinicia, voltando ao estado E 0 e atendendo a

16.9. FLUXOGRAMAS eventuais pedidos em D1 ou em D5, sendo o primeiro priorit ario.

313

Como se viu, o uxograma anterior e um uxograma que representa um circuito de Moore. As sa das est ao dependentes, em exclusivo, dos estados. Exempliquemos agora com um uxograma com sa das segundo o modelo de Mealy. Neste caso, vamos repetir o exemplo anterior mas com uma pequena altera ca o: o sem aforo S 1 ca activo (verde) apenas at e o ve culo abandonar o detector D1. Logo que isso acontece, o sinal volta a vermelho para impedir que um segundo ve culo siga o primeiro. A altera ca o consiste em tornar a sa da S 1 dependente n ao s o do estado E 1 como da entrada D1. Trata-se de uma sa da de Mealy, por oposi ca o a `s do uxograma da Figura 16.39, que s ao sa das de Moore. O s mbolo de uma sa da de Mealy num uxograma e o que se indica na Figura 16.40(a). Este s mbolo deve ser utilizado sempre que, num determinado estado, A por exemplo, se testa um certo n umero de condi co es (vari aveis de entrada) e se decide que, quando as condi co es v em satisfeitas, se devem activar determinadas fun co es de sa da. Naturalmente, tal pressup oe que, se as condi co es de entrada n ao vierem satisfeitas, as sa das n ao v em activadas nesse estado [Figura 16.40(b)]. Por contraste, as sa das de Moore [Figura 16.40(c)] vir ao activadas no pr oprio estado, independentemente dos testes que se zerem, nesse estado, ` as entradas. O resultado nal para o circuito d a o uxograma da Figura 16.41. No caso do funcionamento do circuito ser representado por um uxograma, e bastante f acil a sua implementa c ao usando um ip-op por estado. Basta, para tanto, obter as rela co es entre partes do uxograma e partes do logigrama nal, tal como se fez anteriormente para o caso dos diagramas de estado. Por exemplo, as transi co es incondicionais s ao implementadas como se ilustra na Figura 16.42(a), enquanto que as transi co es condicionadas (ou Forks) e as converg encias (ou Joins) s ao implementadas com indicam as Figuras 16.42(b) e (c). Quanto a `s sa das de Moore e de Mealy, ser ao implementadas como se ilustra nas Figuras 16.43 e 16.44, respectivamente. Agora, e f acil desenhar o logigrama do circuito. Por exemplo, a parte do logigrama que tem a ver com a transi ca o do estado E 1 para o estado E 2 e consequente activa ca o das fun co es de sa da C 1 e S 1 em fun ca o das vari aveis de entrada D1 e D2 deve ser feita como mostra a Figura 16.45. Por exemplo, e de notar que a transi ca o de E 1 para E 2 se faz desde que a vari avel D2 esteja activada, independentemente do n vel de tens ao em D1 (se D2 estiver desactivada, vai-se de E 1 para E 1). Por outro lado, a fun ca o de sa da S 1 vem activada desde que se esteja no estado E 1 e D1 esteja activada, cando o sem aforo 1 verde. De notar que, quando o circuito est a noutro estado que n ao o estado E 1, o ip-op E1 tem a sa da a L e a fun ca o S 1 vem desactivada, o que faz com que o sem aforo 1 que vermelho. Finalmente, a fun ca o de sa da C 1 vem activada se se estiver no estado E 1 ou no estado E 7 (e a cancela respectiva abre). Desde que o circuito esteja num estado diferente de E 1 ou de E 7, a fun ca o C 1 vem desactivada e a cancela fecha.

314

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

Sa das activadas

Condi c ao satisfeita? S Sa das activadas

(a) Estado B (b) Estado C

A Sa das activadas

Condi c ao satisfeita? S Estado B (c)

Estado C

Figura 16.40: (a) S mbolo de uma sa da de Mealy. Contraste entre uma sa da de Mealy (b) e uma sa da de Moore (c) num uxograma. Enquanto a primeira identica, no interior do seu s mbolo, a sa da ou sa das que v em activadas num determinado estado, A por exemplo, quando uma determinada condi ca o vem satisfeita na entrada ou entradas testadas, a segunda, porque n ao depende das entradas, v e a sa da ou sa das activadas no s mbolo do pr oprio estado

16.10

Refer encias Bibliogr acas

Mano, Morris M., and Kime, Charles R. Logic and Computer Design Fundamentals, 2nd ed., Prentice Hall International, Inc., New Jersey, USA, 2000, Sec ca o 4.4.

16.11

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. 16.1 Prove que os circuitos da Figura 16.1, na p agina 281, s ao sequenciais.

16.11. EXERC ICIOS

315

E0

Espera

H E1 C1 H

D1 H

D5 H H E5 C2 H

D1 H H S1 H

D5 H H

D2 H H

S2 H

E2 D3 H H L D3 H H E3 C2 H D2 H H L D4 H H E4 D6 H H L D4 H H E8 L E7 C1 H L E6 L

D6 H

Figura 16.41: Fluxograma de Mealy de controlo das cancelas e dos sem aforos da Figura 16.37 16.2 Considere o logigrama da Figura 16.46 e desenhe: a) o diagrama de estados do circuito; b) um diagrama temporal que ilustre o funcionamento da sa da do circuito entre dois instantes, t0 e t1, sabendo que em t0 se tem Q0 H = L, Q1 H = = H e Q2 H = H, e em t1 se tem Q0 H = L, Q1 H = L e Q2 H = H.

316

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

A
1D

B
1D C1

(a)

B C1

X H A

&

B
1D C1

(b)
B

X H C

1D C1 &

C
1D C1

A
A B 1D C1 1

C
1D

(c)

B
1D C1

C1

Figura 16.42: (a) Implementa ca o, com um ip-op por estado, de uma transi ca o incondicional, (b) de uma transi c ao condicionada ou Fork, e (c) de uma converg encia ou Join de um uxograma

A (a) Z H

A
1D C1

Z H Z=H no estado A

A (b)

A
1D C1

Z H Z=L no estado A

Figura 16.43: Implementa ca o de uma sa da de Moore de um uxograma, com um ip-op por estado

16.3 Analise o circuito sequencial s ncrono da Figura 16.47, construindo a res-

16.11. EXERC ICIOS

317

X H L (a) X H H Z H A
1D C1

&

Z H Z=X no estado A

X H H (b) X H L Z H A
1D C1

&

Z H Z = X no estado A

Figura 16.44: Implementa ca o de uma sa da de Mealy de um uxograma, com um ip-op por estado
E7
1D C1 1

C1 H
&

D1 H

S1 H

E1
1D C1 C1 &

E2
1D

D2 H

Figura 16.45: Implementa c ao da transi ca o do estado E 1 para o estado E 2 e das ca o das vari aveis de entrada D1 H e fun co es de sa da C 1 H e S 1 H em fun D2 H do circuito da Figura 16.37, usando um ip-op por estado pectiva tabela de estados e de sa das. 16.4 Analise o circuito sequencial s ncrono da Figura 16.48. Para tanto, a) desenhe o diagrama de estados do circuito; b) desenhe o diagrama temporal da sa da Z H durante 5 impulsos de rel ogio, admitindo que os dois ip-ops se encontram inicialmente no es-

318

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

&

1J C1 1K

Q0 H

1J C1 1K

Q1 H

1J C1 1K

Q2 H

=1

CLK H

S H

Figura 16.46: Logigrama do circuito sequencial s ncrono do Exerc cio 16.2

&

X H

1S C1 1R

& 1T C1 &

Z H CLK H

Figura 16.47: Circuito sequencial s ncrono do Exerc cio 16.3 tado (QA, QB ) = (L, L).
QA H H
1J C1 1K 1J C1 &

QB H

Z H

1K

CLK H

Figura 16.48: Circuito sequencial s ncrono do Exerc cio 16.4 16.5 Considere o circuito da Figura 16.49. a) Trata-se de um circuito concebido segundo o modelo de Moore ou de Mealy? Justique brevemente. b) Determine a sua tabela de estados.
&

Z H

& 1J C1

& 1J C1 1K

X H H CLK H

1K

Figura 16.49: Circuito sequencial s ncrono do Exerc cio 16.5

16.11. EXERC ICIOS

319

() 16.6 Para uma determinada m da Z H aquina s ncrona com entrada X H e sa obteve-se o comportamento temporal descrito na Figura 16.50. A m aquina foi constru da segundo o modelo de Moore ou de Mealy? Justique.

CLK H

X H

Z H

Figura 16.50: Comportamento temporal de uma m aquina s ncrona 16.7 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona com duas entradas, X e Y , por onde surgem, em s erie, os bits de dois n umeros bin arios sem sinal para serem comparados. Admita que os bits de menor peso dos n umeros surgem em primeiro lugar. As sa das do circuito (quantas?) devem indicar, em cada momento, qual dos dois n umeros e maior, ou se s ao iguais. 16.8 A sa da S de um circuito sequencial e peri odica, de per odo 4, e apresenta portanto, do tipo a sequ encia de tr es 1s e um 0. E,
...1 0 1 1 1 0 1 1 1 0 1 1...

Desenhe um diagrama de estados para uma m aquina de teste de Mealy, T , que analise, momento a momento, a sa da S do circuito, e que d e sa da 1 sempre que ocorrer uma altera ca o da sequ encia de sa da em S . O circuito T deve poder ser ligado em qualquer instante, desconhecendo-se o estado de S nesse momento. () 16.9 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona cuja fun ca o e gerar um bit de paridade para as palavras analizadas. As palavras t em comprimento 3, mas o circuito usa 4 impulsos de rel ogio para analizar cada palavra: os primeiros 3 impulsos s ao para os bits da palavra e o quarto impulso serve para a gera ca o do bit de paridade. O bit de paridade deve vir igual a 1 se a paridade da palavra recebida for par, e a 0 se for mpar. Enquanto o quarto impulso n ao ocorrer, o valor na sa da e indiferente. Desenhe o circuito: (a) como uma m aquina de Moore; e (b) como uma m aquina de Mealy. () 16.10 Desenhe um diagrama de estados para uma m aquina de Mealy com uma entrada s erie e uma sa da que repete a sequ encia de entrada com dois per odos de rel ogio de desfasamento. Os dois primeiros valores na sa da devem ser iguais a 0. 16.11 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona que gera uma das seguintes sequ encias: 1 1 0 0 ou 0 1 0 1, conforme uma vari avel

320

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS de controlo est a a 0 ou a 1, respectivamente. A vari avel de controlo pode mudar em qualquer momento e a m aquina nunca deve, na transi c ao, enviar mais do que dois bits iguais.

() 16.12 Desenhe o diagrama de estados ou o uxograma de uma m aquina sequencial s ncrona com uma entrada, X , e duas sa das, Z 0 e Z 1, com o comportamento que se descreve em seguida: Z 0 = 1 apenas quando, na entrada, se verica a sequ encia 1 1 0 1, e Z 0 = 0 em todos os restantes casos; Z 1 = 1 apenas quando, na entrada, se verica a sequ encia 1 0 1 1, e Z 1 = 0 em todos os restantes casos. A m aquina deve detectar sequ encias com sobreposi ca o. 16.13 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona de Moore com duas entradas, X e Y , e uma sa da, Z , rais que: (i) se Y = 0, ent ao Z = X ; e (ii) se Y = 1, ent ao Z e igual ao valor de X no per odo de rel ogio anterior. Admita que Y = 0 no instante inicial. 16.14 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona com uma entrada e uma sa da e com o seguinte comportamento. (i) A m aquina recebe pela entrada sequ encias de 4 bits, mas desses bits apenas considera os 3 primeiros. Como resposta, a m aquina fornece uma sequ encia de 4 bits. (ii) A sequ encia de sa da e semelhante a ` sequ encia de entrada, mas inclui um 1 suplementar. Esse 1 segue-se imediatamente a ` primeira sequ encia de dois 0s na entrada. Se tal sequ encia n ao ocorrer na entrada, o 1 ser a acrescentado no m. Segue-se um exemplo de comportamento da m aquina.
Entrada: Sa da: 1 0 1 0 0 1 0 0 0 1 0 1 1 Bit 1 inserido no m 0 0 1 1 0 0 1 0 Bits 1 inseridos a meio Resto da sequ encia

16.15 Considere uma m aquina sequencial s ncrona com duas entradas, X 1 e X 2, e uma sa da, Z . A sa da deve permanecer a 0 at e que as entradas sejam iguais uma a ` outra durante, pelo menos, 3 impulsos de rel ogio. Quando isso acontece, a sa da dever a gerar a sequ encia 1 0 1 0. Exemplo de funcionamento:
X 1: X 2: Z: 0 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0

Desenhar o diagrama de estados da m aquina. 16.16 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona de Moore com uma entrada, X , e uma sa da, Z , com o seguinte funcionamento: a sa da s o vai a 1 durante um per odo de rel ogio ap os a entrada ter ido a 1 e regressado a 0.

16.11. EXERC ICIOS

321

16.17 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona com uma entrada e uma sa da com o seguinte comportamento: a m aquina possui dois modos de funcionamento; no Modo 1 a sa da copia a entrada; no Modo 2 a sa da e permanentemente 0; a m aquina passa do Modo 1 para o Modo 2 quando recebe a sequ encia 1111 na entrada; e a m aquina passa do Modo 2 para o Modo 1 quando recebe a sequ encia 0101 na entrada. 16.18 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona com uma entrada e uma sa da, normalmente a 0, que, ao identicar a sequ encia 101 na entrada, gera na sa da a sequ encia 1010. 16.19 Desenhe o diagrama de estados ou o uxograma de uma m aquina sequencial s ncrona com uma entrada e tr es sa das, com o seguinte comportamento. a) A m aquina recebe sequ encias sucessivas de 4 bits, que interpreta como d gitos BCD, com o bit mais signicativo de cada d gito a entrar em primeiro lugar. A m aquina apresentar a em duas das sa das, e simultaneamente com o u ltimo bit que entra, o resultado da divis ao inteira do d gito BCD por 3. b) Se a sequ encia de entrada n ao for um d gito BCD, a terceira sa da da m aquina assumir a o valor 1, tamb em em simult aneo com o u ltimo bit entrado. c) Consideram-se as sequ encias de entrada sem sobreposi ca o, isto e, como grupos sucessivos e independentes de 4 bits. 16.20 Construa o diagrama de estados de uma m aquina sequencial s ncrona com uma entrada e uma sa da com o seguinte comportamento: a sa da vem a 1 durante um impulso de rel ogio sempre que as u ltimas cinco entradas come carem por dois 1s seguidos e tenham exactamente tr es 1s. Por exemplo,
Entrada: Sa da: 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1

16.21 Desenhe o diagrama de estados (ou, se preferir, a tabela de estados ou o uxograma) de uma m aquina sequencial s ncrona com uma entrada e uma sa da com o seguinte funcionamento: nos dois primeiros impulsos de rel ogio a sa da vem a 0; a partir da , a sa da vem a 1 se a entrada, em cada instante, e igual a ` entrada dois impulsos de rel ogio atr as e 0 nos restantes casos. 16.22 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona com ` entradas s duas entradas, X 0 e X 1, e duas sa das, Y e Z . As ao apresentados n umeros bin arios com 2 bits, tendo X 1 o bit mais signicativo e X 0 o menos signicativo. A m aquina analisa sequ encia sucessivas de tr es n umeros. Se a sequ encia for 2, 1, 2, a fun ca o Y vem a 1 e a m aquina recome ca a an alise de outra sequ encia. No caso de a sequ encia n ao ser a

322

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS prevista, Z vem a 1 e a m aquina recome ca a an alise de outra sequ encia. As sa das mant em o valor 1 durante um impulso de rel ogio.

16.23 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona que fa ca as fun co es de divisor de frequ encia por 2 ou por 3 consoante o valor l ogico numa linha de controlo, M . () 16.24 Elabore um diagrama de estados para uma m aquina de Mealy que recebe em s erie, na sua u nica entrada, uma palavra qualquer do c odigo BCD (entra em primeiro lugar o bit de maior peso), e cuja sa da s o vem a 1 se a palavra que entrou for inferior a 4(BCD) ou superior a 7(BCD) . O valor na sa da n ao deve vir especicado para os tr es primeiros bits da palavra. () 16.25 Desenhe o diagrama de estados de uma m aquina de Mealy que detecte palavras do c odigo BCD. As palavras, com 4 bits, entram em s erie por uma entrada u nica, come cando pelo bit de maior peso. Ao m de quatro impulsos de rel ogio o circuito deve vir reiniciado, preparado para detectar uma nova palavra. Para al em da entrada, o circuito tem duas sa das, X e Y , tais que: (i) se X = Y = 0, ent ao a palavra recebida n ao pertence ao c odigo BCD; (ii) se X = Y = 1 a palavra pertence ao c odigo; e (iii) se X = 1 e Y = 0 e porque n ao foi poss vel, at e ao momento, saber se a palavra pertence ou n ao ao c odigo. 16.26 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona com uma entrada e uma sa da, com esta u ltima a assumir o valor 1 se os u ltimos 4 bits forem um n umero par em BCD. Se o n umero for maior do que 9(10), a sa da dever a vir a 0. O bit que entra primeiro e o bit mais signicativo. Por outro lado, apenas interessa o valor da sa da quando e recebido o quarto bit. () 16.27 Obtenha o diagrama de estados (ou o uxograma) de uma m aquina sequencial s ncrona com duas entradas e duas sa das que compara dois d gitos BCD, A e B . Cada d gito e apresentado em s erie por uma das entradas, come cando pelo bit de menor peso. Nas entradas s ao presentes sequ encias sucessivas de 4 bits. A sa da deve indicar permanentemente se A > B , se A < B ou se A = B . 16.28 Desenhe o diagrama de estados de uma m aquina sequencial s ncrona com duas entradas e duas sa das. A m aquina recebe, pelas suas entradas, sequ encias sucessivas de 4 bits. No m de cada sequ encia a m aquina deve indicar se as duas sequ encias que entraram s ao ou n ao d gitos BCD. Se forem, a m aquina deve ainda indicar se eles s ao ou n ao iguais. () 16.29 Determinar um diagrama ou uma tabela de estados de uma m aquina sequencial s ncrona que recebe d gitos BCD a come car pelo bit menos signicativo. A m aquina dar a sa da 1 se o d gito for m ultiplo de 4. 16.30 Desenhe o logigrama de uma m aquina sequencial s ncrona com uma entrada X que condiciona o comportamento do circuito da seguinte forma: se X = 0, a m aquina possui o diagrama de estados da Figura 16.51(a); se X = 1, o diagrama de estados e o da Figura 16.51(b). Indique a evolu ca o do circuito se, antes de receber o primeiro impulso de rel ogio ap os ligar o sistema, o circuito estiver no estado B e a vari avel de entrada estiver em 1.

16.11. EXERC ICIOS

323

B A C A E

F E (a)

D C

(b)

Figura 16.51: (a) Diagrama de estados da m aquina s ncrona do Exerc cio 16.30 no caso em que X = 0; e (b) no caso em que X = 1 16.31 a) Projecte um circuito sequencial s ncrono de Mealy que soma a constante 2 em bin ario a um n umero com 3 bits entrado em s erie, cando preparado para repetir a opera ca o sucessivamente com outros n umeros na entrada. Caso haja transporte no m, despreze-o. Entram primeiro os bits de menor peso do n umero. b) Transforme o diagrama de estados obtido na al nea anterior no pressuposto de o circuito representar uma m aquina de Moore. 16.32 Considerando o diagrama de estados da Figura 16.52, e sabendo que disp oe de om oscilador de rel ogio CLK com uma frequ encia de 1 Hz,

B 0 1 A 1 0 1 E 0 1 D 1 0 C 0

Figura 16.52: Diagrama de estados da m aquina s ncrona do Exerc cio 16.32 a) sintetize o respectivo circuito sequencial s ncrono usando ip-ops D edge-triggered que comutem nos ancos descendentes de CLK ; b) utilizando o circuito sintetizado sem qualquer altera ca o, diga como poderia obter uma onda de rel ogio CLK sincronizada com CLK mas de per odo T = 3 s. 16.33 Partindo do diagrama de estados apresentado na Figura 16.53(a), desenhe o logigrama do respectivo circuito sequencial s ncrono, utilizando como

324

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS elementos de mem oria os ip-ops hipot eticos do tipo A representados na Figura 16.53(b).
0/0 1/1 B C
1J &

0/0

1/0

1/0

CLK H A H

C1 1K

1/0 A 0/0 D 1A 0/1 (a) C1 (b)

Figura 16.53: (a) Diagrama de estados da m aquina s ncrona do Exerc cio 16.33; (b) ip-op hipot etico do tipo A, a usar na implementa ca o da m aquina 16.34 Implemente, utilizando ip-ops JK e NANDs em l ogica positiva, o circuito sequencial s ncrono representativo da m aquina com a tabela de estados e de sa das da Tabela 16.10. Trata-se de um circuito de Mealy ou de Moore? Tabela 16.10: Tabela de estados e de sa das da m aquina sequencial s ncrona do Exerc cio 16.34
EA X=0 A B C D A C A B ES X=1 B D C D 0 0 1 1 Z

16.35 Projecte um contador que conte segundo o c odigo , 0, 3, 7, 2, 5, 0, . Utilize os ip-ops que entender. 16.36 Projecte um circuito sequencial s ncrono descrito pela tabela de estados e de sa das da Tabela 16.11. Trata-se de um circuito de Mealy ou de Moore? 16.37 Projecte o circuito sequencial s ncrono especicado pelo diagrama de estados da Figura 16.54. Use os ip-ops que desejar. N ao e necess ario desenhar o logigrama. 16.38 Utilizando ip-ops JK, realize o projecto da m aquina sequencial s ncrona com a tabela de estados e de sa das da Tabela 16.12.

16.11. EXERC ICIOS

325

Tabela 16.11: Tabela de estados e de sa das do circuito sequencial s ncrono do Exerc cio 16.35
EA ES/Z X=0 A B C D E F G B/0 A/0 B/0 E/0 B/1 G/0 E/0 X=1 D/0 G/0 G/0 G/1 A/1 B/0 D/1

0 1 A/0 0 1 0 D/0 C/1 B/0

Figura 16.54: Diagrama de estados do circuito sequencial s ncrono do Exerc cio 16.37 Tabela 16.12: Tabela de estados e de sa das da m aquina sequencial s ncrona do Exerc cio 16.38
EA ES/Z X=0 A B C D E A/0 C/1 E/0 B/1 D/0 X=1 B/0 D/0 A/1 E/1 A/0

16.39 Um watchdog e um circuito que vigia o bom funcionamento de outro circuito. Para tal, o circuito vigiado deve enviar periodicamente impulsos ao watchdog. Se o circuito vigiado n ao enviar um ou mais desses impulsos peri odicos, o watchdog activa uma sa da de alarme. Desenhe o diagrama de estados de um watchdog s ncrono em que o impulso que

Watchdog

326

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS vem do circuito vigiado surge com um atraso m aximo de 6 impulsos de rel ogio, dura 1 per odo de rel ogio, e e s ncrono com este.

M aquina incompletamente especicada (incompleta)

16.40 Desenhe o logigrama da m aquina sequencial s ncrona incompletamente especicada (ou, mais simplesmente, m aquina incompleta) descrita pela tabela de estados e de sa das da Tabela 16.13. Tabela 16.13: Tabela de estados e de sa das da m aquina sequencial s ncrona incompleta do Exerc cio 16.40
EA ES/Z (X2,X1) (0,0) A B C D A/0 A/1 C/1 B/0 (0,1) B/1 C/1 A/0 D/0 (1,0) C/0 / B/0 / (1,1) / D/0 / A/

16.41 Projecte, utilizando ip-ops do tipo T, um contador bin ario Up/Down s ncrono de m odulo 3. 16.42 Utilizando ip-ops do tipo D, projecte um contador bin ario de m odulo 8, com a possibilidade de ser inicializado sincronamente a 6. 16.43 Projecte um contador bin ario de m odulo 3, usando um ip-op D para o bit menos signicativo e um JK para o mais signicativo. 16.44 Considere a entrada de um parque de estacionamento. Para um carro ser admitido no parque, tem de introduzir uma moeda na ranhura de uma caixa, moeda essa que activa um sensor M durante um impulso de rel ogio. Ap os essa ocorr encia, uma cancela levanta e o carro pode prosseguir com o estacionamento. Durante todo o tempo em que o carro est a a entrar, um detector D ca activo. A cancela fecha ap os o carro ter saido da frente do detector. Imediatamente depois do detector, existe uma banda de borracha que deve ser pisada duas vezes, uma por cada eixo de um carro. No caso de ser pisada tr es vezes, isso signica que uma camioneta est a a tentar entrar (o que e proibido), ou que h a fraude. Nesse caso a cancela dever a fechar, caindo em cima do infractor (como solu ca o, n ao e l a muito aconselh avel, mas enm ...). Desenhe um uxograma de uma m aquina sequencial s ncrona que implemente o controlo da cancela. 16.45 Utilizando ip-ops JK, projecte um circuito sequencial s ncrono descrito pelo uxograma da Figura 16.55. 16.46 Repetir o Exerc cio 16.9, mas admitindo agora que na sa da se reproduzem os 3 bits da palavra de entrada, nos 3 ciclos de rel ogio que antecedem a gera ca o do bit de paridade.

16.11. EXERC ICIOS

327

H 2

A H L X H

B H L

L 3

A H H Y H 4 Y H, Z H

Figura 16.55: Fluxograma do circuito sequencial s ncrono do Exerc cio 16.45 () 16.47 Utilize um contador integrado do tipo 74LS161A para implementar a m aquina sequencial s ncrona representada pelo diagrama de estados da Figura 16.56.
1 0 A/0 1 B/0 0 0 1 0 1 G/0 0 F/1 0 0 C/0 1

D/0

E/0

Figura 16.56: Diagrama de estados da m aquina sequencial s ncrona do Exerc cio 16.47

328

CAP ITULO 16. CIRCUITOS SEQUENCIAIS S INCRONOS

Cap tulo 17

Mem orias
Os modernos computadores sejam eles sistemas embebidos aut onomos, computadores de uso geral ou servidores s ao constitu dos basicamente por 5 unidades: a Unidade Central de Processamento ou CPU, a Unidade de Mem oria, a Unidade de Controlo e as Unidades de Entrada e de Sa da. Destas 5 unidades vamos, neste cap tulo, estar interessados apenas na Unidade de Mem oria, constitu da por um conjunto de circuitos integrados de mem oria. Para al em da Unidade de Mem oria, interna aos computadores existem ainda mem orias (discos, diskettes, tas magn eticas, CDs, DVDs, etc.) que fazem parte da mem oria externa dos computadores e que comunicam com a CPU atrav es das Unidades de Entrada e de Sa da. Nestas mem orias externas a informa ca o e gravada em suportes magn eticos ou o pticos. N ao iremos aqui considerar estes tipos de mem oria. As mem orias que nos interessam arrumam-se em dois grandes grupos: o das RAMs (Random Access Memories ou mem orias de leitura/escrita), e o das ROMs, (Read Only Memories ou mem orias de leitura). As RAMs s ao mem orias onde e poss vel efectuar opera co es de escrita de dados e subsequentes opera co es de leitura dos dados entretanto escritos. As opera co es de escrita e de leitura decorrem na sequ encia normal de funcionamento dos sistemas em que as RAMs se inserem. Pelo contr ario, as ROMs s ao mem orias que podem ser programadas (numa opera ca o de escrita) uma u nica vez, em alguns tipos de ROM mais do que uma vez (mas sempre poucas vezes). Ou seja, a opera ca o corrente nas ROMs e de leitura, durante o funcionamento normal dos sistemas em que estas mem orias se inserem, pelo que a opera ca o de escrita eu nica ou muito pouco frequente. A designa ca o Random Access Memory dada a `s RAMs e, hoje pouco clara, mas tem a ver, na origem, com o facto de o tempo de acesso a ` informa ca o nesse tipo de mem oria ser igual para todas as palavras, independentemente do endere co aleat orio que se lhe aplicasse. Antes do aparecimento deste tipo de dispositivo existiam, basicamente, mem orias s erie, semelhantes a registos de deslocamento. Nesses dispositivos o tempo de acesso a ` informa ca o dependia da dist ancia a que ela se encontrava da sa da, quando se pretendia aceder-lhe. Para contrapor a este tipo de mem orias, as mem orias RAM passaram a ter acesso aleat orio. 329

Unidade Central de Processamento (CPU) Unidade de Mem oria Unidade de Controlo Unidades de Entrada e de Sa da

Random Access Memory (RAM) Read Only Memory (ROM) Opera co es de escrita e de leitura

Mem orias s erie

330

CAP ITULO 17. MEMORIAS

17.1
17.1.1

Read Only Memories (ROMs)


Tipos de ROMs

A designa ca o Read Only Memory ou ROM aplica-se, na realidade, a um conjunto diversicado de mem orias, em que se incluem v arios tipos, como mostra a Figura 17.1.

ROM

MROM (ROM)

PROM

EPROM

E 2 PROM

Flash ROM

Figura 17.1: Principais tipos de ROMs ` medida que caminhamos da esquerda para a direita na gura obtemos meA m orias que s ao progressivamente mais ex veis em mat eria de programa ca o (escrita), aproximando-se cada vez mais das caracter sticas das RAMs ou mem orias de leitura/escrita. Por outro lado, obtemos mem orias com um custo por bit em geral mais elevado.
Mask-Programmed ROM (MROM)

Assim, as MROMs ou Mask-programmed ROMs (por vezes tamb em designadas, incorrectamente, simplesmente por ROMs) s ao circuitos integrados projectados de origem pelo fabricante com o conte udo pretendido pelo utilizador. N ao podem ser programadas pelo utilizador, e o seu conte udo n ao e alter avel. As PROMs (ou Programmable ROMs) s ao variantes de ROMs que podem ser programadas uma u nica vez pelo utilizador, por fus ao de pequenos fus veis. S ao compradas com todos os fus veis intactos, e o utilizador recorre a um programador de PROMs para fundir alguns dos fus veis e deixar outros intactos, cando assim a mem oria programada com 1s e com 0s. No caso de ser necess ario alterar o conte udo da PROM, h a que programar um novo dispositivo e o anterior ca inutilizado. As EPROMs (ou Erasable PROMs) s ao mem orias que podem ser programadas diversas vezes pelo utilizador (com recurso ainda a um programador de PROMs), e que podem ser apagadas submetendo-as a radia ca o ultra-violeta durante um intervalo de tempo relativamente prolongado. As EPROMs podem ser regravadas um certo n umero de vezes (dezenas a milhares). As EEPROMs (Electrically Erasable PROMs, ou ainda E 2 PROMs) s ao EPROMs que podem ser apagadas e reprogramadas electricamente, uma palavra de cada vez (em geral, uma palavra tem a dimens ao de um byte), sem necessidade de as retirar do circuito em que est ao inseridas. Do mesmo modo, s ao alter aveis um n umero limitado de vezes. As mem orias Flash ou Flash ROMs s ao variantes de EEPROMs que podem ser apagadas ou reprogramadas electricamente, em blocos de palavras (um bloco de

Programmable ROM (PROM) Programador de PROM

Erasable PROM (EPROM)

Electrically Erasable PROM (EEPROM ou E 2 PROM)

Mem orias Flash

17.1. READ ONLY MEMORIES (ROMS)

331

cada vez). Tal como acontece com as mem orias anteriores, tamb em as mem orias Flash s ao alter aveis um n umero limitado de vezes. S ao as mem orias ROM que mais se aproximam das mem orias RAM sem, contudo, possuirem a mesma facilidade de leitura e de escrita que s ao caracter sticas das RAMs.

17.1.2

Utiliza c ao das ROMs

As ROMs podem servir para varias aplica co es: suporte a programas em sistemas embebidos, programas esses que n ao ir ao ser alterados (uso de ROMs ou de PROMs) ou que podem ser actualizados um n umero pequeno de vezes (uso de EPROMS, de EEPROMS ou de mem orias Flash); memoriza ca o de tabelas como veremos, por exemplo, no Cap tulo 19, quando estudarmos as m aquinas de estados, ou ainda em aplica c oes em que se pretende fazer uma convers ao de determinados dados (por exemplo, convers oes de c odigos) ou em que se querem gerar certas fun co es anal ogicas (formas de onda sinusoidais, triangulares, em dentes de serra, etc.); implementa ca o de l ogica combinat oria (como veremos no Cap tulo 18).

17.1.3

Estrutura de uma ROM


Palavra (de uma ROM) Bits de dados ROM de 2n por p (2n p) C elulas

Uma ROM pode ser modelada por uma matriz com 2n linhas (palavras) e p colunas (p bits de dados por palavra), conjuntamente com um descodicador bin ario de n bits e sa das activas a H (Figura 17.2). De forma simplicada, diz-se que estamos em presen ca de uma ROM de 2n por p, n n ou de uma ROM de 2 p, porque possui 2 p c elulas, uma por cada intersec ca o linhacoluna. Recorrendo a uma m ascara fotogr aca, o fabricante da ROM insere um n vel H ou um n vel L (respectivamente, um 1 ou um 0 em l ogica positiva) em cada uma das c elulas, no processo de fabrico da ROM. As n linhas de entrada do descodicador designam-se colectivamente por barramento de endere cos da ROM, a `s quais se aplicam endere cos (quantidades booleanas gerais). Para cada endere co aplicado a `s entradas vai ser activada uma e s o uma sa da do descodicador, isto e, uma e s o uma palavra da ROM. Apenas a palavra que foi endere cada pode debitar para as p sa das do dispositivo (o barramento de dados) o que nessa palavra tiver sido programado pelo fabricante. Dizemos, ent ao, que se leu para as sa das o conte udo da palavra da ROM com esse endere co, ou que foi feita a leitura de uma palavra da ROM, ou ainda, e mais simplesmente, que foi feita uma leitura da ROM. Como a ` aplica c ao de um endere co vai corresponder uma opera ca o de leitura da palavra correspondente, com o consequente envio para o exterior dos bits programados nessa palavra (naturalmente, ap os um certo tempo de propaga ca o), segue-se que o comportamento da ROM e combinat orio.

Barramento de endere cos (de uma ROM) Endere co Barramento de dados (de uma ROM) Leitura (de uma palavra) da ROM

332
GND

CAP ITULO 17. MEMORIAS

R BIN/1-OF-2n EN H A0 A1 n linhas de endere co An-1 EN 1 2 0 1 2 3 4

R C elulas com H Palavra Palavra Palavra Palavra Palavra 0 1 2 3 4

2n-1

Palavra 2n1 C elulas com L D0 D1 D2 D3 Dp-1

p linhas de dados p bits por palavra

Figura 17.2: Modelo matricial de uma ROM com n linhas de endere co e p elulas, umas linhas de dados, ou ROM de 2n p. Esta ROM possui 2n p c programadas com n veis H (a cinzento), outras a L (a branco) Assim sendo, n ao e de estranhar que se possam utilizar ROMs na implementa ca o de fun co es booleanas gerais (uma fun ca o booleana simples por sa da) das vari aveis booleanas gerais aplicadas ` as entradas de endere co, como faremos no cap tulo seguinte.

17.1.4

Funcionamento de uma MROM

Vamos agora ver como e constitu da cada uma das c elulas de uma MROM (Figura 17.3). Como podemos observar na gura, uma c elula e formada por um transistor nMOS (se a MROM for unipolar, como e o caso; no caso de uma MROM bipolar teremos um transistor bipolar por c elula) e por uma liga ca o que, ou e deixada, ou e retirada no processo de gera ca o da m ascara da MROM (no caso de uma PROM, a liga c ao e substitu da por um fus vel, e a aus encia de liga ca o signica que o programador da PROM fundiu o fus vel). O transistor est a ligado ` linha correspondente. a tens ` ao de alimenta ca o, Vdd , e a Admitamos, ent ao que, na c elula que se encontra na intersec ca o da linha i com a coluna j , o fabricante da MROM deixou car a liga ca o [Figura 17.3(a)]. Quando a palavra i for seleccionada pelo endere co aplicado a `s entradas, o n vel H gerado na sa da i do descodicador bin ario torna o transistor condutor, pelo que a tens ao Vdd (aproximadamente) aparece na coluna j . Ou seja, obtemos um n vel H nessa coluna.

17.1. READ ONLY MEMORIES (ROMS)


Coluna j Coluna j

333

Linha i Vdd

Linha i Vdd

Liga ca o inserida na m ascara Sa da j N vel H na sa da (a)

Liga ca o removida na m ascara Sa da j N vel L na sa da (b)

Figura 17.3: Estrutura de cada uma das c elulas de uma MROM em tecnologia nMOS, admitindo que a palavra (linha) i est a seleccionada. (a) Caso em que a liga ca o e deixada na m ascara da MROM, obtendo-se um H na coluna j . (b) Caso em que a liga ca o e removida na m ascara da MROM, obtendo-se um L na coluna j Pelo contr ario, admitamos agora que na intersec ca o da linha i com a coluna j o fabricante da MROM removeu a liga ca o [Figura 17.3(b)]. Nessas condi co es, quando a palavra i for seleccionada o transistor conduz, por em a aus encia de liga ca o signica que a tens ao Vdd n ao pode passar para a coluna j . Ent ao, o que aparece na coluna j e o n vel L proveniente da liga ca o da coluna a ` massa, GND, atrav es da correspondente resist encia de pull-down, R. Ou seja, obtemos um n vel L (praticamente 0 V) na coluna j . Se a linha i n ao tiver sido seleccionada pelo endere co presente ` as entradas, a sa da correspondente do descodicador est a a L e nenhum dos transistores nessa linha conduz , pelo que as correspondentes contribui co es se traduzem por n veis L em todas as colunas. Consideremos agora uma coluna j qualquer. Duas situa co es podem ocorrer. 1. Na sa da j apenas temos contribui co es de n veis L dos diversos transistores ligados a ` coluna com o mesmo n umero: (i) porque existe um n vel L proveniente do transistor na palavra i que foi endere cada, estando o transistor desligado da linha; e (ii) porque existem n veis L provenientes dos restantes transistores nessa coluna, pertencentes a palavras n ao endere cadas (relembremos que apenas uma palavra vem endere cada, ou seleccionada, de cada vez). Neste caso a sa da j vem a L, n vel esse que resulta da leitura do bit a L armazenado na c elula que se encontra na intersec ca o da coluna j com a linha i que foi endere cada. 2. Na sa da j temos contribui co es de n veis L e um (e s o um) n vel H, proveniente do transistor condutor na linha i que estiver, nesse momento, a ser endere cada. Neste caso a sa da j vem a H, sendo este n vel resultante da leitura do bit a H armazenado na c elula que est a na intersec ca o da coluna j com a linha i que foi

334 endere cada.

CAP ITULO 17. MEMORIAS

Em resumo, uma liga ca o deixada na m ascara, na intersec ca o de uma linha com uma coluna, signica um n vel H na coluna e na sa da, enquanto que uma liga ca o removida signica um n vel L. Finalmente, se a entrada de Enable da MROM (vd . a Figura 17.2) estiver inactiva, ent ao todas as sa das do descodicador est ao inactivas (a L) e todos os transistores da MROM est ao em n ao condu ca o , pelo que as sa das v em todas a L. Podemos, ent ao, armar que a ROM da Figura 17.2 tem sa das activas a H, que v em desactivadas se zermos o Disable do dispositivo.

17.1.5

Descodica ca o coincidente

O grande inconveniente da estrutura das ROMs na Figura 17.2 e a dimens ao do descodicador utilizado na selec ca o de uma linha (palavra). Por exemplo, se pensarmos numa ROM de 256 4, esse descodicador possuir a 256 sa das, uma por cada palavra, e necessitar a de 256 ANDs de 8 entradas (mais uma entrada para o Enable). O descodicador vai, nessas circunst ancias, ocupar um espa co consider avel no circuito integrado, porque necessita de muitas portas e porque cada uma delas possui um elevado n umero de entradas. Por essa raz ao, os fabricantes de ROMs utilizam um outro tipo de descodica c ao que recorre a dois descodicadores mais pequenos, numa estrutura designada por descodica ca o coincidente . Desta forma ganham em a rea ocupada no circuito integrado, o que lhes permite incluir ROMs de maiores dimens oes para a mesma area. Por exemplo, a ROM anterior, de 256 4, em vez de vir organizada como uma matriz de 256 linhas por 4 colunas, vem, na pr atica, organizada com uma matriz de 32 32, sendo cada linha constitu da por 8 palavras de 4 bits, como mostra a Figura 17.4.
Descodicador de linha Descodicador de coluna

Um descodicador de linha de 5 bits selecciona, de cada vez, uma das 32 linhas (8 palavras) da matriz a ` custa das linhas de endere co de menor peso, A0 a A4. Por seu turno, um descodicador de coluna de 3 bits utiliza as outras 3 linhas de endere co as de maior peso, A5 a A7 para seleccionar uma de entre as 8 palavras de 4 bits que est ao dispon veis na linha da matriz seleccionada pelo descodicador de linha. Os 4 bits dessa palavra s ao lidos, ent ao, para o exterior da matriz e, da , para as 4 linhas de sa da, se as entradas de controlo permitirem. Apesar de esta solu ca o necessitar de dois descodicadores, eles s ao consideravelmente mais pequenos do que o descodicador u nico: o descodicador de linha necessita de 32 ANDs de 5 entradas, e cada um dos 4 descodicadores de coluna requere 8 ANDs de 3 entradas.

17.1.6

S mbolos das ROMs

Os s mbolos das ROMs s ao relativamente simples. Ilustremos com o s mbolo IEC simplicado de uma ROM t pica, de 256 4 como a anterior, na Figura 17.5.
Qualicador geral ROM *

O qualicador geral ROM * identica uma ROM, com o asterisco substitu do pela

17.1. READ ONLY MEMORIES (ROMS)


Descodicador de linha (1-OF-32)

335

0 1 2 3

A0 H A1 H
Endere co da linha Matriz de 32 x 32

A2 H A3 H A4 H
29 30 31

Endere co da coluna

A5 H A6 H A7 H CS L OE L
&
1 EN

Descodicador de coluna (4 descodicadores 1-OF-8) e circuito de sa da

D0 H

D1 H

D2 H

D3 H

Figura 17.4: Uma ROM de 2564 vem, na pr atica, organizada como uma matriz de 32 32, com um descodicador de coluna e um descodicador de linha, para al em do circuito de sa da controlado por duas linhas, CS L e OE L
ROM 256x4

A0 A1 A2 A3 A4 A5 A6 A7

H H H H H H H H

0 [0] A
0 A 255

D0 H D1 H D2 H D3 H

[1] A [2] A [3] A

7 & EN

CS H OE H

Figura 17.5: S mbolo IEC simplicado de uma ROM t pica de 256 4, com sa das tri-state e duas entradas de controlo activas a L correspondente dimens ao. car (seleccionar) uma As 8 linhas de endere co, A0 H a A7 H, permitem endere das 256 palavras para ser lida, desde que estejam activadas as entradas de controlo uma delas designada por Chip Select (CS L) ou, em alternativa, por Chip Enable (CE L), e a outra designada por Output Enable (OE L). Decorrido um certo tempo de propaga ca o, nas sa das D0 H a D3 H aparece

336

CAP ITULO 17. MEMORIAS

o conte udo dessa palavra (a quest ao dos tempos de propaga ca o ser a examinada na Subsec ca o 17.1.7).
Qualicadores de entrada Am Depend encia de Endere co (A) Qualicadores de sa da A

No s mbolo, a chaveta indica que as linhas de endere co devem ser tomados em conjunto, com os qualicadores de entrada A0 a A255 a congurar uma depend encia de Endere co (A signica Address ou endere co). Esta depend encia vem manifestada pelos qualicadores A0 a A255, que afectam as sa das com o qualicador de sa da A. A palavra seleccionada numa opera ca o de leitura da ROM, por aplica ca o de certos n veis de tens ao a `s entradas de endere co, ser a aquela que tem o endere co decimal que resulta da soma das pot encias de 2 das entradas activas (desde que as entradas de controlo permitam). Ora como vimos atr as, esta ROM possui duas entradas de controlo que permitem a leitura de uma palavra. Quando uma delas, ou as duas, v em desactivadas, as sa das da ROM cam todas em alta imped ancia. O facto de as sa das serem do tipo tri-state permite ligar m ultiplas ROMs, ou ainda ROMs e outros dispositivos com sa das tri-state (RAMs, microprocessadores, etc.), a barramentos comuns de transporte de dados entre os diversos dispositivos.

Qualicadores de sa da [i]

Em cada sa da aparece ainda um qualicador de sa da [i], opcional, que identica o peso dessa sa da relativamente a `s outras.

17.1.7

Temporiza c oes na leitura de uma ROM

Antes de passarmos ao estudo das temporiza co es que podemos observar na leitura de uma palavra de ROM, vamos considerar com algum cuidado os signicados das vari aveis de controlo CS e OE que encontr amos nas Figuras 17.4 e 17.5.
Chip Select, CS

A entrada de Chip Select permite seleccionar uma ROM em particular de entre um conjunto de mem orias (ROMs ou RAMs), em esquemas de mem oria do g enero dos que estudaremos na Subsec ca o 17.1.8 em que co-existem, no mesmo sistema, diversos circuitos de mem oria. Nesses casos, a activa ca o ou inactiva ca o de CS ser a controlada por um descodicador de endere cos externo, cuja fun ca o e seleccionar um circuito de mem oria de cada vez, consoante o endere co pretendido. Existir a, assim, um espa co de endere camento global, com cada circuito de mem oria afectado a uma certa zona de mem oria, que e subconjunto do espa co de endere camento. e porque queremos aceder a uma palavra Se o CS L da ROM estiver activa, com um endere co afectado a ` zona de mem oria ocupada pela mem oria. Nesse caso queremos que a palavra lida da ROM seja colocada no barramento de dados comum aos diversos circuitos de mem oria, a m de poder ser lida por outro circuito qualquer. Pelo contr ario, se CS L estiver inactiva queremos retirar a ROM do barramento de dados, porque queremos endere car outro circuito de mem oria que n ao esta ROM em particular. Isto e, queremos, neste caso, aceder a uma palavra contida noutro circuito de mem oria, ou seja, a uma palavra com um endere co pertencente a ` zona de mem oria que foi afectada a esse outro circuito.

Descodicador de endere cos Espa co de endere camento Zona de mem oria

Output Enable, OE

da em alta Quanto a ` entrada de Output Enable, OE L, permite colocar a sa imped ancia (no caso de n ao querermos ler uma palavra da ROM), impedindo a

17.1. READ ONLY MEMORIES (ROMS)

337

mem oria de enviar dados para o barramento de dados, ou, pelo contr ario, deixar passar para o barramento o conte udo de uma palavra lida da ROM. Passemos, ent ao, a ` quest ao das temporiza c oes num acesso ` a ROM. Uma ROM possui um certo tempo de propaga ca o (ou de atraso), desde o instante em que se aplica um novo endere co a `s entradas e o instante em que, nas sa das, aparece o conte udo da palavra lida desse endere co. Este tempo de propaga ca o toma a designa ca o espec ca de tempo de acesso a partir do endere co, tAA, tal como descreve a Figura 17.6 para uma ROM t pica como a da Figura 17.5.

Tempo de acesso a partir do endere co, tAA

Entradas de endere co

Endere co anterior

Novo endere co est avel

CS L

OE L = L tAA Sa das de dados t0 Dado anterior t1 t2 t3 t4 tOZ Novo dado est avel t5 t6 Hi-Z

Figura 17.6: Parte das temporiza co es na opera ca o de leitura de uma palavra de uma ROM t pica A forma de onda de cima representa os sinais aplicados ` as entradas de endere co (independentemente do n umero de linhas de endere co), a segunda representa a linha de Chip Select, CE L, a terceira apresenta a linha de Output Enable, encia, e a de baixo representa os dados de sa da OE L, activada em perman (independentemente do n umero de linhas de sa da). No instante t0 as linhas de endere co est ao com determinados n veis de tens ao, umas a H e outras a L (notar a forma de representa ca o desses n veis). Nesse instante as entradas de Chip Select e de Output Enable est ao activas, pelo que as sa das da ROM exibem um dado anterior, resultante de uma leitura pr evia da ROM (o dado correspondente ao endere co anterior). Em t1 s ao aplicados a `s linhas de endere co novos n veis de tens ao, que correspondem a um novo endere co. Algumas dessas linhas mudam de n vel, e outras n ao. Contudo, e imposs vel garantir que as linhas que mudam de n vel o fazem em simult aneo. Ou seja, durante um intervalo de tempo representado a cinzento na gura, as linhas de endere co est ao inst aveis, a ajustar-se ao novo endere co a co ca est avel. A partir partir do endere co anterior. At e que em t2 o novo endere desse instante a ROM come ca a descodicar o novo endere co e a seleccionar a palavra correspondente. Em t3 os dados de sa da come cam a mudar para reectir o novo dado que e lido da ROM. Naturalmente, as mudan cas nas linhas de dados n ao ocorrem

338

CAP ITULO 17. MEMORIAS

das da ROM mant em-se inst aveis. simultaneamente, pelo que entre t3 e t4 as sa das passam a reectir de forma est avel o dado que Finalmente, em t4 as sa estava memorizado na palavra que acabou de ser endere cada. O intervalo de tempo entre t2 e t4, desde que o novo endere co est a est avel at e que aparece de forma est avel nas sa das o dado correspondente, e o tempo de e da ordem de acesso a partir do endere co, tAA. Para uma ROM bipolar tAA grandeza de 30 a 90 ns, para uma ROM nMOS e da ordem de 35 a 500 ns, e para uma ROM CMOS e da ordem de 20 a 60 ns. Quando se arma que temos uma ROM de 100 ns, por exemplo, estamos a referir-nos a este tempo.
Tempo de Output Disable, tOZ

Outro par ametro temporal importante e o tempo de Output Disable, tOZ, medido entre o instante em que o Chip Select ca inactivo e o instante em que as sa das entram em alta imped ancia, entre t5 e t6 . Notemos como se representa, no diagrama temporal, uma situa ca o de alta imped ancia nas sa das (nem a H nem a L). Na Figura 17.7 apresenta-se outra situa ca o poss vel e diferente da anterior em que se activa o Chip Select depois de um endere co car est avel, admitindo ainda que o Output Enable se mant em activado em perman encia.
Entradas de endere co tAA CS L tACS OE L = L tOE Sa das de dados Hi-Z Dado est avel Endere co est avel

Figura 17.7: Outra parte das temporiza co es na opera ca o de leitura de uma palavra de uma ROM t pica Neste caso, as sa das que estavam em alta imped ancia pelo facto de o CS estar desactivado, saem da situa ca o de alta imped ancia depois de decorrido um tempo de Output Enable, tOE. Se fosse a linha OE L a car activada em vez da linha amos a mesma situa ca o. No fundo, tOE mede o intervalo de tempo CS L, ter que decorre desde que CS L ou OE L cam activos at e que as sa das saem da situa ca o de alta imped ancia. Se os endere cos estiverem est aveis h a tempo suciente, o dado que se obt em nas sa das e est avel. Caso contr ario, e inst avel. O tempo de acesso a partir do CS, tACS mede o tempo de acesso a partir do instante em que o CS ca activo at e que as linhas de sa da cam est aveis (em algumas ROMs o CS tem um efeito ligeiramente diferente do de OE , ao contr ario do que sugere a Figura 17.4, e nesses casos o tACS e diferente do tOE , como mostra a gura anterior.) ao forem cumpridos, n ao podemos Enquanto os tempos de acesso tACS e tAA n

Tempo de Output Enable, tOE

Tempo de acesso a partir do CS, tACS

17.1. READ ONLY MEMORIES (ROMS)

339

esperar no barramento de dados o dado correspondente a ` palavra endere cada, mesmo que as sa das da ROM tenham deixado de estar na situa ca o de alta imped ancia por j a ter decorrido o tempo tOE . Ou seja, depois de decorrido tOE mas antes de tACS e tAA terem terminado, obtemos no barramento de dados algo que n ao tem a ver com o dado pretendido (da estar indicado a cinzento).

17.1.8

Expans ao de ROMs

Quando se pretendem obter ROMs com dimens oes maiores do que as ROMs de que dispomos, podemos distinguir dois problemas fundamentais: (i) queremos aumentar a dimens ao das palavras lidas para cada endere co, mantendo o n umero de palavras; ou (ii) queremos aumentar o n umero de palavras, mantendo a dimens ao das palavras; ou (iii) queremos fazer as duas coisas. A expans ao do n umero de bits por palavra realiza-se com grande simplicidade, por simples justaposi ca o de ROMs. Exemplica-se na Figura 17.8 com um sistema de 1k 16 bits, formado a partir de duas ROMs de 1k 8. Ou seja, formamos uma ROM que, globalmente, possui 1k palavras de 16 bits.
10 A0-A9 ROM 0
ROM 1k x 8

ROM 1
ROM 1k x 8 EN

CS L A0 A1 A2 A3 A4 A5 A6 A7 A8 A9

EN 0 [0] A [1] A [2] A


0 A 1 023

D0 D1 D2 D3 D4 D5 D6 D7

[3] A [4] A [5] A [6] A

[7] A

A0 A1 A2 A3 A4 A5 A6 A7 A8 A9

[0] A [1] A [2] A


0 A 1 023

D8 D9 D10 D11 D12 D13 D14 D15

[3] A [4] A [5] A [6] A

[7] A

16 D0-D15

Figura 17.8: Expans ao de ROMs que duplica a dimens ao de cada palavra, de 8 para 16, mantendo o n umero de palavras em 1k Como podemos vericar pela gura, a ROM 0 cont em a parte menos signicativa de uma palavra, D0 D7, enquanto que a ROM 1 cont em a parte mais signicativa, D8 D15 mas, obviamente, pod amos ter escolhido colocar na ROM 0 as partes altas das palavras e na ROM 1 as partes baixas. A opera ca o de leitura e feita simultaneamente nas duas ROMs (o CS e comum as duas) e para o mesmo endere ` co (as linhas de endere co s ao comuns). Nessas condi co es, cada uma das ROMs envia para o barramento de dados a metade da palavra que nela foi previamente escrita. Na gura e ilustrada tamb em uma representa ca o simplicada para os barramentos de dados, D0 D15, e de endere cos, A0 A9, e correspondentes interliga co es as ROMs. `

340

CAP ITULO 17. MEMORIAS

Para a expans ao do n umero de palavras da mem oria, h a que colocar os diversos integrados em paralelo e prolongar para o exterior da mem oria a fun ca o de descodica c ao atrav es de um descodicador. Esse descodicador interage com os diversos integrados atrav es das respectivas linhas de Enable. O exemplo que se segue corresponde a ` implementa ca o de um sistema de mem oria ROM com a dimens ao de 4k 8, usando os integrados anteriores e um descodicador bin ario de 2 bits (Figura 17.9).
A0-A9 10 10

A0-A11

ROM 1 A10-A11
ROM 1k x 8

ROM 0
ROM 1k x 8

CS1 L A0 A1 A2 A3 A4 A5 A6 A7 A8 A9

EN 0 [0] A [1] A [2] A


0 A 1 023

CS0 L D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9

EN 0 [0] A [1] A [2] A


0 A 1 023

D0 D1 D2 D3 D4 D5 D6 D7

[3] A [4] A [5] A [6] A

[3] A [4] A [5] A [6] A

[7] A

[7] A

8 D0-D7

10
BIN/1-OF-4

A10 1 A11 2

0 1 2 3

ROM 3
ROM 1k x 8

ROM 2
ROM 1k x 8

CS3 L A0 A1 A2 A3 A4 A5 A6 A7 A8 A9

EN 0 [0] A [1] A [2] A


0 A 1 023

CS2 L D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9

EN 0 [0] A [1] A [2] A


0 A 1 023

D0 D1 D2 D3 D4 D5 D6 D7

[3] A [4] A [5] A [6] A

[3] A [4] A [5] A [6] A

[7] A

[7] A

Figura 17.9: Expans ao de ROMs que quadruplica o n umero de palavras, de 1k para 4k, mantendo a dimens ao de cada palavra em 8 bits Porque vamos usar 4k endere cos, precisamos de 12 linhas de endere co, A0 a A11. Os bits de endere co que n ao podem ir para as ROMs, A10 e A11, s ao utilizados pelo descodicador externo, que activa a entrada de CS (Chip Select) de cada uma das ROMs presentes no sistema, obviamente uma de cada vez. Por exemplo, se A10 = H e A11 = L, a ROM 1 vem activada. Mas se A10 = H e A11 = H, ent ao e a ROM 3 que vem activada. Neste sistema de mem oria as diversas ROMs ocupam os endere cos (em hexadecimal) que se indicam na Tabela 17.1.

17.2. RANDOM ACCESS MEMORIES (RAMS)

341

Tabela 17.1: Tabela com os endere cos ocupados por cada uma das ROMs da Figura 17.9

ROM 0 1 2 3

Endere cos 000h a 3FFh 400h a 7FFh 800h a BFFh C00h a FFFh

Naturalmente, pod amos, se assim entendessemos, aumentar o n umero de palavras e a dimens ao de cada uma delas, conjugando as expans oes das Figura 17.8 e 17.9.

17.2
17.2.1

Random Access Memories (RAMs)


Tipos de RAMs

As RAMS s ao mem orias de leitura/escrita, isto e, mem orias em que as opera co es de leitura e de escrita s ao igualmente frequentes do ponto de vista estat stico e que, por essa raz ao, s ao efectuadas aproximadamente com os mesmos tempos de atraso. Desta forma as RAMs distinguem-se das ROMs, j a que para estas u ltimas temos uma das seguintes situa co es: a opera ca o de escrita n ao pode ser de todo efectuada pelo utilizador (como acontece com as MROMs); a opera ca o de escrita s o pode ser efectuada uma u nica vez ( e o que sucede com as PROMs); a opera ca o de escrita pode ser efectuada mais do que uma vez, mas torna-se necess ario retirar a mem oria do circuito para a reprogramar externamente (no caso das EPROMs); a opera ca o de escrita pode ser efectuada m ultiplas vezes sem retirar a mem oria do circuito, mas e uma opera ca o pouco eciente do ponto de vista temporal (comparativamente com a opera ca o de leitura), para al em de necessitar de circuitos especiais; ou seja, as opera co es de escrita apenas ocorrem em circunst ancias muito especiais como acontece, por exemplo, nas mem orias Flash e nas EEPROMs quando se pretende substituir um programa armazenado na mem oria. Existem RAMs de dois tipos: est aticas, ou SRAMS, e din amicas, ou DRAMs. As RAMs est aticas s ao dispositivos em que os diversos bits s ao armazenados em
Mem orias RAM est aticas (SRAMs) Mem orias RAM din amicas (DRAMs)

342

CAP ITULO 17. MEMORIAS

dispositivos do tipo latch controlado (ainda que estruturalmente muito simplicados) que podem manter indenidamente o seu conte udo enquanto estiverem alimentados electricamente. As RAMs din amicas s ao dispositivos em que cada bit e representado pela carga el ectrica de um pequeno condensador. Como todos os condensadores, estes t em fugas, pelo que apenas conseguem manter a carga durante um intervalo de tempo muito limitado. Da que seja preciso, quando se utiliza uma RAM din amica, incluir um circuito de refrescamento de constante reescrita do conte udo da RAM, de forma a que todos os condensadores vejam periodicamente reposta a respectiva carga. Neste curso preocupar-nos-emos apenas com as RAMs est aticas.

Circuito de refrescamento

17.2.2

S mbolos das RAMs

Uma RAM e um dispositivo de mem oria com uma estrutura id entica a ` de uma ROM (ver a Figura 17.2 na p agina 332), excepto que as c elulas s ao agora constitu das por latches modicados. As RAMs s ao, ent ao, organizadas em palavras de um certo comprimento (n umero de bits), que podem ser acedidas em opera co es de escrita ou de leitura.
Barramento de endere cos (de uma RAM) Leitura (de uma palavra) da RAM Escrita (numa palavra) da RAM Barramento de entrada Barramento de sa da Barramento de dados

A palavra pretendida e referenciada por um endere co aplicado a um barramento de endere cos. A opera ca o de leitura de uma palavra da RAM ou de escrita numa palavra da RAM e referenciada por duas linhas separadas ou, noutros casos, por uma u nica linha. Os dados a escrever s ao introduzidos por um barramento de entrada e os dados lidos podem ser acedidos num barramento de sa da. Em alguns casos apenas existe um u nico barramento de dados, naturalmente bidireccional. Consideremos, na Figura 17.10, o s mbolo IEC de uma RAM t pica de 1k 8 (isto e, com 1 024 palavras de 8 bits), com barramentos separados para a entrada e para a sa da de dados. O simbolo e semelhante ao de uma ROM, pelo que a seguir apenas mencionaremos as principais diferen cas. A primeira tem a ver com a exist encia de um bloco de controlo comum, que o s mbolo simplicado da ROM da Figura 17.5 n ao possui (por isso, o s mbolo da ROM e simplicado). Neste caso existem dois barramentos de dados, um de dados de entrada designada, (DAT AOU T 0 7) H. do por (DAT AIN 0 7) H, e outro de dados de sa Trata-se, em ambos os casos, de barramentos de 8 bits. Quanto ao barramento de endere cos, tem as linhas necess arias para aceder a todas as palavras de mem oria no caso, 10 linhas de endere cos, (ADDR0 9) H. ca o de leitura da RAM, enquanto A linha READ H permite efectuar uma opera ca o de escrita na RAM. Naque a linha W RIT E H permite realizar uma opera turalmente, nestes casos e da responsabilidade do utilizador da mem oria garantir que apenas uma das opera co es vem activada de cada vez (mas podem estar as duas inactivas, e ent ao n ao se faz nem a leitura nem a escrita numa palavra da mem oria).

17.2. RANDOM ACCESS MEMORIES (RAMS)

343

RAM 1k x 8 0

ADDR0-9 H

0 A 1 023

READ H WRITE H CS L

1EN [READ] 1C2 [WRITE] G1 A,2D A

DATAIN0-7 H

DATAOUT0-7 H

Figura 17.10: S mbolo IEC de uma RAM de 1k 8 com dois barramentos de dados unidireccionais, um de entrada e um de sa da, e sa das tri-state De notar o qualicador de entrada G1 que, quando activo, permite que essas opera co es possam ser efectuadas, atrav es do qualicador 1 (depend encia And). A esta entrada ligamos, habitualmente, uma linha com a designa ca o CS L (CS signica Chip Select). Quando esta entrada vem inactiva, inibe o funcionamento da RAM, colocando as sa das em alta imped ancia atrav es do qualicador EN (impedindo, deste modo, a mem oria de enviar dados para o barramento de dados de sa da numa opera c ao de leitura), e impedindo as opera c oes de escrita por meio do qualicador 2. Existem v arias estruturas alternativas ` a ilustrada. A variante mais comum utiliza um u nico barramento de dados, bidireccional. Naturalmente, nestes casos n ao h a necessidade de controlar independentemente a escrita e a leitura. Por isso, existe apenas uma linha de controlo que, ora promove a opera c ao de leitura, ora promove a opera ca o de escrita. comum designar a linha de controlo por READ H/W RIT E L, sendo que E existir a uma opera ca o de leitura se se aplicar um n vel H a ` linha, e uma opera ca o de escrita se se aplicar um n vel L. Notemos que, neste caso, n ao conseguimos controlar esta linha por forma a impedir uma opera ca o de eleitura ou de escrita, ao contr ario do que sucede quando as vari aveis de READ e de W RIT E s ao separadas. Para que n ao se efectue nenhuma das opera c oes, teremos de controlar o Chip Select da mem oria. A Figura 17.11 ilustra uma mem oria RAM com essa arquitectura e com a dimens ao da mem oria anterior.

344

CAP ITULO 17. MEMORIAS

RAM 1k x 8 0

ADDR0-9 H

0 A 1 023

READ H/WRITE L CS L

1EN [READ] 1C2 [WRITE] G1 A,2D A

DATA0-7 H

Figura 17.11: S mbolo IEC de uma RAM de 1k 8 com um u nico barramento de dados, bidireccional, e com sa das tri-state

17.2.3

Estrutura de uma RAM est atica (SRAM)

Na pr atica, uma c elula de mem oria est atica em tecnologia MOS (mas tamb em h a mem orias bipolares TTL e BiCMOS) e constitu da por um latch SR simplicado, formado por dois inversores entrecruzados, e por dois transistores nMOS, ligados como mostra a Figura 17.12.
Palavra
1

Bit

Bit

Figura 17.12: Estrutura de uma celula de mem oria est atica em tecnologia MOS, com um total de 6 transistores ` c As elulas encontram-se ainda associados outros circuitos para as opera co es de escrita e de leitura, para al em dos descodicadores de linhas e de colunas. Como, por em, os alunos n ao possuem os conhecimentos necess arios de Electr onica Digital para podermos analisar o comportamento da c elula e dos cir-

17.2. RANDOM ACCESS MEMORIES (RAMS)

345

cuitos auxiliares, vamos recorrer ao seu equivalente funcional, apresentado na Figura 17.13.

IN H SEL L WR L
&
1D C1

1 EN

OUT H

C elula de SRAM

IN H SEL L WR L

1D EN & C1

OUT H

Figura 17.13: Equivalente funcional de uma c elula de mem oria SRAM. De notar a exist encia de um latch D controlado, precedido por uma l ogica de controlo da sua entrada de Enable e seguido por uma l ogica de controlo da sua sa da Q H O bit a escrever e apresentado a ` entrada D de um latch controlado, mas s o e escrito se a sua linha de Enable estiver activa, o que quer dizer que a linha de Selec ca o da c elula, SEL L, deve estar activa, e a linha de Escrita, W R L, ao apenas a escrita no tamb em deve estar activa. A linha SEL L controla n latch, mas tamb em a leitura do seu conte udo. Se na linha SEL L aplicarmos um n vel H, a sa da da c elula vem em alta imped ancia. As SRAMs utilizam c elulas deste tipo numa estrutura matricial id entica a ` da Figura 17.2, como se armou atr as. A Figura 17.14 ilustra, de forma simplicada, a estrutura interna de uma SRAM com 4 palavras de 2 bits, no caso em que se usam dois barramentos unidireccionais e independentes para a entrada e sa da da dados. A utiliza c ao de Buers tri-state nas sa das permite que v arias destas mem orias (ou ainda ROMs, microprocessadores, etc, com capacidade tri-state) possam partilhar o mesmo barramento de sa da. Naturalmente, podemos de maneira f acil expandir esta estrutura para SRAMs de maiores dimens oes. Por outro lado, veremos mais a ` frente como modicar a estrutura desta SRAM para o caso em que se usa um u nico barramento bidireccional para a entrada e sa da de dados. Como se pode ver na Figura 17.14, a selec ca o de uma palavra da SRAM e feita a ` custa de um descodicador, que ver a uma das suas linhas de sa da activada (a L) de cada vez, consoante o endere co aplicado ` a mem oria (n ao devemos, contudo, esquecer que as RAMs reais utilizam descodicadores de linha e de coluna em descodica c ao coincidente, em vez de um descodicador u nico). Repare-se que, para que haja escrita de um bit na c elula que se encontra na intersec ca o de uma dada linha e coluna, ter a de vir seleccionada a palavra elula), e tamb em a coluna correspondente (activando-se a entrada SEL L da c elula). correspondente (activando-se a entrada W R L da c
Estrutura de uma SRAM

346
DATAIN1 H
BIN/1-OF-4 0
1D EN & C1

CAP ITULO 17. MEMORIAS


DATAIN0 H

Palavra 0
1D EN & C1

ADDR0 H

1
1D EN & C1 1D EN & C1

Palavra 1

ADDR1 H

2
1D EN & C1 1D EN & C1

Palavra 2

3
1D EN & C1 1D EN & C1

Palavra 3

READ H/WRITE L CS L

&

WR L

&

OUTEN L
1 EN 1 EN

OE L

DATAOUT1 H

DATAOUT0 H

Figura 17.14: Estrutura de uma SRAM de 4 2 com barramentos independentes e unidireccionais para a entrada e sa da de dados Deve tamb em notar-se que as c elulas das palavras que n ao s ao seleccionadas pelo descodicador (todas as palavras excepto a que e endere cada) cam com as suas sa das em alta imped ancia, ou seja, n ao interferem com as sa das das c elulas da palavra seleccionada.
Opera ca o de escrita numa SRAM

Consideremos uma opera c ao de escrita na SRAM. Quando a linha READ H/W RIT E L vem a L (e desde que a mem oria tenha sido seleccionada pela activa ca o do seu Chip Select, CS L), as entradas W R L de todas as c elulas v em activadas, mas apenas e operada uma escrita na palavra endere cada, j a que apenas as c elulas dessa linha possuem as suas entradas co es, escrevem-se nessa palavra, e apenas nessa, SEL L activas. Nestas condi os bits presentes no barramento DAT AIN H. Consideremos agora uma opera c ao de leitura da SRAM. Neste caso a linha READ H/W RIT E L vem a H, o que inactiva todas as elulas, pelo que n ao pode escrever-se nos latches (natuentradas W R L das c ralmente). A palavra seleccionada pela linha SEL L debita para o barramento de sa da o seu conte udo (se a entrada de Output Enable, OE L, estiver activa e o Chip Select tamb em estiver activo), e as restantes palavras, n ao seleccionadas, t em as suas sa das em alta imped ancia, como vimos anteriormente. Finalmente, constatemos que, para impedir que numa opera c ao de escrita se leia

Opera ca o de leitura de uma SRAM

17.2. RANDOM ACCESS MEMORIES (RAMS)

347

igualmente para o exterior a palavra seleccionada (porque, estando SEL H activo, os bits da palavra seleccionada aparecem nas sa das das c elulas da palavra), devemos assegurar-nos que o Output Enable est a inactivo durante a escrita. Vamos considerar em seguida as modica co es a fazer ao circuito de entrada/sa da para acomodar um barramento tri-state bidireccional.

BIN/1-OF-4 0
1D EN & C1 1D EN & C1

Palavra 0

ADDR0 H

1
1D EN & C1 1D EN & C1

Palavra 1

ADDR1 H

2
1D EN & C1 1D EN & C1

Palavra 2

3
1D EN & C1 1D EN & C1

Palavra 3

READ H/WRITE L CS L

&

WR L

&

OUTEN L
1 EN 1 EN

OE L
1 1

DATA1 H

DATA0 H

Figura 17.15: Uma SRAM com um barramento tri-state bidireccional usa um circuito de entrada/sa da com um Buer bidireccional comandado pelas 3 linhas de controlo Como podemos observar na Figura 17.15, colocam-se Buers de sa da, do tipo tri-state, no caminho das linhas de sa da das c elulas de mem oria (OU T H) para o barramento de dados, e Buers de entrada simples no caminho do barramento de dados para as linhas de entrada das c elulas da mem oria (IN H). A entrada de Enable dos Buers de sa da vem comandada por CS L e por OE L, como no caso anterior (com dois barramentos diferenciados), e ainda pela linha READ H/W RIT E L. ca o de W RIT E , Quando e aplicado um L a ` linha READ H/W RIT E L (opera se CS L e OE L estiverem activos), a sa da OU T EN L da porta AND inferior vem inactiva, e e feito o Disable das sa das dos Buers de sa da, o que impede a SRAM de enviar dados para o barramento. Ou seja, nestas condi co es apenas pode ser feita uma escrita na SRAM do dado proveniente do barramento.
Buer de sa da Buer de entrada A inclus ao dos Buers de entrada permite diminuir signicativamente o fan-out dos circuitos que atacam as linhas DAT A1 H e DAT A0 H.

348

CAP ITULO 17. MEMORIAS

ca o de READ, Quando se aplica um H a ` linha READ H/W RIT E L (opera da da porta inferior, OU T EN L, se CS L e OE L estiverem activos), a sa vem activa e e feito o Enable das sa das dos Buers de sa da, o que permite que o dado contido na palavra seleccionada seja lido para o barramento. Se CS L ou OE L ou ambos estiverem inactivos, n ao pode haver leitura da nem escrita na SRAM. Com efeito, embora o dado que estiver no barramento passe atrav es dos Buers de entrada e esteja presente a `s entradas de todas a as c elulas, ele n ao podem ser escrito nas c elulas porque a linha W R L est em est a inactiva, a SRAM inactiva. Por outro lado, porque OU T EN L tamb n ao envia nada para o barramento.

17.2.4
Ciclo de escrita Ciclo de leitura

Ciclos de leitura e de escrita numa SRAM

A execu ca o da escrita numa palavra em mem oria, faz-se num ciclo de escrita e, do mesmo modo, a leitura e feita num ciclo de leitura. Um ciclo de leitura de uma RAM est atica e igual a ` opera ca o de leitura de uma ROM, que discutimos na Subsec ca o 17.1.7. Por essa raz ao n ao apresentaremos aqui esse ciclo.
Ciclo de escrita controlado pelo WRITE Ciclo de escrita controlado pelo CS Est avel tAS tCSW tAH

ADDR

Est avel tCSW

CS L tAS READ H/ WRITE L tDS DATA V alido tDH tDS V alido tDH tWP tAH tWP

t1

t2

t3

t4

Figura 17.16: Ciclo de escrita numa palavra de uma SRAM O ciclo de escrita na SRAM est a dependente da activa ca o simult anea dos sinais de controlo CS e W RIT E (como sabemos, este u ltimo e conseguido colocando a linha READ H/W RIT E L a L). Ora estes dois sinais n ao t em que car activos em simult aneo e car inactivos em simult aneo. Assim, na Figura 17.16 apresentam-se duas situa co es distintas, a primeira em que o W RIT E ca activo depois do CS , e a segunda em que o CS ca activo depois do W RIT E .
Ciclo de escrita controlado pelo W RIT E

No primeiro caso o ciclo de escrita come ca a partir do instante t1 em que os dois sinais v em activos, e termina quando os dois cam inactivos, em t2 . Trata-se

17.2. RANDOM ACCESS MEMORIES (RAMS)

349

de um ciclo de escrita controlado pelo WRITE porque, depois do CS car activo, o ciclo s o se inicia quando o W RIT E vem activo. No segundo caso temos a situa ca o contr aria: o ciclo de escrita come ca a partir do instante t3 em que os dois sinais v em activos, e termina quando os dois cam inactivos, em t4. Trata-se de um ciclo de escrita controlado pelo CS porque, depois do W RIT E car activo, o ciclo s o se inicia quando o CS vem activo. Consideremos ent ao um ciclo de escrita controlado pelo W RIT E , com a seguinte sequ encia de opera co es: o endere co onde se quer escrever uma palavra e colocado no barramento de endere cos; antes, as linhas de endere co est ao inst aveis porque mudaram para o novo endere co; o CS vem activado; como os endere cos foram alterados h a pouco tempo, o que est a no barramento de dados n ao e garantidamente v alido (pode ser o conte udo do endere co anterior, ou podem ser dados sem sentido, provocados pela transi ca o de endere cos); actua-se em seguida o W RIT E ; a partir daqui inicia-se o ciclo de escrita; h a que esperar o tempo necess ario para que a escrita se efectue com sucesso; desactiva-se o W RIT E e, simultaneamente ou n ao, tamb em o CS ; em todo o caso, o ciclo de escrita termina; ap os algum tempo, podem ser retirados os dados do barramento; a opera c ao e completada com a mudan ca do endere co para um novo ciclo, seja ele de leitura ou de escrita. Num ciclo de escrita controlado pelo CS temos uma situa c ao semelhante, tamb em descrita na Figura 17.16. Quanto a `s temporiza c oes nos ciclos de escrita, devemos ter em aten ca o que as c elulas de mem oria da SRAM s ao constitu das por latches. Logo, devemos assegurar os correspondentes tempos de prepara ca o ou de set-up, tsu , e de ca o aos endere cos, quer em rela ca o aos manuten ca o ou de hold, th , quer em rela dados. Os tempos de prepara ca o e de manuten ca o dos endere cos s ao denidos relativamente aos in cios e aos ns dos ciclos de escrita. S ao eles o tempo de prepara c ao cio ao ciclo, e o tempo de ou tempo de set-up do endere co, tAS, antes de se dar in manuten c ao ou tempo de hold do endere co, tAH, depois de terminar o ciclo. Quanto aos dados, os tempos de prepara ca o e de manuten ca o s ao denidos relativamente aos ns dos ciclos. Ou seja, h a que assegurar que um determinado dado est a est avel no barramento antes e depois de terminar o ciclo que o escreve na mem oria. Temos, por conseguinte, um tempo de prepara c ao ou tempo de set-up do dado, tDS, antes de terminar o ciclo, e um tempo de manuten c ao ou tempo de hold do dado, tDH, depois de terminar o ciclo. Finalmente, os impulsos de W RIT E e de CS devem ter uma dura ca o m nima, respectivamente o tempo de dura c ao do WRITE, tWP, e o tempo de dura c ao do CS, tCSW.
Tempo de prepara ca o (set-up) do endere co, tAS Tempo de manuten ca o (hold) do endere co, tAH

Ciclo de escrita controlado pelo CS

Tempo de prepara ca o (set-up) do dado, tDS Tempo de manuten ca o (hold) do dado, tDH Tempo de dura ca o do WRITE, tWP Tempo de dura ca o do CS, tCSW

350

CAP ITULO 17. MEMORIAS

17.2.5

Expans ao de RAMs

A quest ao da expans ao de RAMs segue a par e passo com o processo de expans ao das ROMs. Ou seja, podemos expandir a dimens ao de cada palavra colocando RAMs em paralelo, alimentadas por um barramento de endere cos comum e com cada uma dss RAMs a recolher ou a enviar uma parte dos dados para o barramento de dados comum. Por exemplo, se quisermos formar palavras de 16 bits com RAMs de 4 bits, ligamos 4 RAMs em paralelo, com uma delas ligada a D0 D3, outra a D4 D7, outra a D8 D11, e a u ltima a D12 D15 do barramento de dados D0 D15. Para expandir o n umero de palavras, arranjamos um descodicador externo que actua os CE (ou CS ) de cada uma delas a ` custa das linhas de endere co suplementares necess arias ao n umero total de palavras. Ou seja, todas as RAMs s ao alimentadas em paralelo pelas linhas de endere co comum, e as linhas de endere co suplementares constituem as entradas do descodicador. Por exemplo, se possuirmos RAMs de 1k8 e quisermos ocupar uma zona de mem oria com 4k, usamos 4 RAMs, com cada uma delas a ocupar uma zona de 1k. Como as RAMs possuem 10 entradas de endere co, aplicamos a `s 4 RAMs as linhas de endere co A0 A9. Mas como a zona total a descodicar possui 4k, s ao precisas mais 2 linhas de endere co, A10 e A11, que s ao as entradas de um descodicador bin ario de 2 bits. As 4 sa das do descodicador constituem os 4 sinais de CS , um por cada RAM. Finalmente, podemos aumentar simultaneamente a dimens ao e o n umero de palavras, utilizando as duas t ecnicas anteriores, tal como fazemos com as ROMs.

Cap tulo 18

L ogica Program avel


18.1 Read Only Memories (ROMs)

Uma ROM e um dispositivo de mem oria e, como tal, foi estudado no Cap tulo 17, conjuntamente com outros tipos de mem orias (RAMs). Mas uma das principais aplica co es das ROMs, como vimos, e na implementa ca o de l ogica combinat oria, quando se pretende realizar uma fun ca o booleana geral de uma vari avel booleana geral. Neste sentido, uma ROM pode ser considerada como um dispositivo l ogico program avel, ou PLD (Programmable Logic Device), e e nesse contexto que a iremos estudar no presente cap tulo. Consideremos na Figura 18.1 uma ROM (hipot etica) de 16 1, na qual queremos programar a tabela de verdade f sica que se encontra representada na Tabela 18.1 (na realidade teremos que enviar a tabela de verdade para o fabricante da ROM, para ele gerar a m ascara com as liga co es nos s tios onde queremos n veis H e aus encias de liga c oes onde queremos n veis L).
ROM 16x1

Programmable Logic Device (PLD)

Z H Y H X H W H

0
0 A 15

F H

Figura 18.1: S mbolo IEC de uma ROM hipot etica de 16 1 Do s mbolo da ROM conclu mos que esperamos obter a fun ca o booleana simples F (W, X, Y, Z ), em que W e a vari avel booleana simples com maior peso (porque est a ligada a ` entrada de endere co com maior peso) e Z a de menor peso. A forma mais simples que temos de representar gracamente o conte udo desta ROM e como se apresenta na Figura 18.2: a u nica sa da e constitu da por um OR ct cio com 16 entradas (uma por cada palavra da ROM), que recolhe os n veis H ou L previamente programados em cada uma das palavras, para essa sa da. 351

352

CAP ITULO 18. LOGICA PROGRAMAVEL

Tabela 18.1: Tabela de verdade f sica que queremos programar na ROM da Figura 18.1
W H A3 L L L L L L L L H H H H H H H H X H A2 L L L L H H H H L L L L H H H H Y H A1 L L H H L L H H L L H H L L H H Z H A0 L H L H L H L H L H L H L H L H

Palavra # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Dados H L H H L L L H H H H L H L L H

Porque o OR possui um elevado n umero de entradas, e usual represent a-lo de forma simplicada, com as 16 entradas reduzidas a uma u nica linha, na qual se identicam as liga co es aos 16 bits das 16 palavras. Como de cada vez apenas uma palavra vem endere cada, segue-se que apenas uma entrada do OR vem com o n vel H ou L que tiver sido programado para essa palavra. As restantes entradas v em a L. Logo, do ponto de vista l ogico, estamos efectivamente a implementar uma fun ca o OR com 15 entradas inactivas (a L) e a restante entrada activa ou inactiva, consoante o que tiver sido programado na palavra seleccionada. claro que as ROMs comerciais t E em muito mais palavras e bits por palavra possibilitando, assim, a implementa ca o de v arias fun co es booleanas simples de um n umero de vari aveis booleanas simples igual ao n umero de linhas de endere co. Por exemplo, uma ROM de 8 k 8 pode implementar, no m aximo, 8 fun co es booleanas simples (uma por cada sa da) de 13 vari aveis booleanas simples (porque 213 = 8 k). A ROM da Figura 18.2 pode, ent ao, ser encarada como uma matriz de ANDs xos (os ANDs do descodicador bin ario) seguida de uma matriz de ORs program aveis (os ORs que acab amos de mencionar, um por cada sa da). Na Figura 18.3 sugere-se, ent ao, uma representa ca o gr aca para uma ROM, onde se salienta a matriz de ANDs xos e a matriz de ORs program aveis.

18.2. PROGRAMMABLE LOGIC ARRAYS (PLAS)

353

BIN/1-OF-16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1

EN H

EN

Z H Y H X H W H

1 2 3 4

F H ROM de 16 1

Figura 18.2: Uma forma de representar gracamente a ROM da Figura 18.1 considera a ( unica) sa da como sendo a sa da de um OR ct cio com 16 entradas, umas programadas com o n vel H (aquelas onde se incluiu uma cruz), e outras programadas com o n vel L (onde n ao se colocou uma cruz)
Matriz AND xa Matriz OR program avel

Entradas de endere cos

2n

Sa das de dados

Figura 18.3: Uma ROM pode ser considerada como uma matriz de ANDs xos (n ao program aveis), seguida de uma matriz de ORs program aveis

18.2

Programmable Logic Arrays (PLAs)

As ROMs que estud amos atr as constituem, como vimos, o primeiro exemplo de um PLD (dispositivo l ogico program avel), na medida em que permitem gerar fun co es booleanas simples de complexidade arbitr aria, uma fun ca o por sa da. Tal deve-se ao facto de o descodicador interno da ROM gerar todos os mintermos das fun co es, e de cada sa da poder ser entendida como a soma l ogica de um subconjunto qualquer desses mintermos (Figura 18.2). A popularidade destes dispositivos na implementa ca o de fun co es booleanas deve-se aos seguintes factores: como vimos atr as, e f acil e r apido determinar o conte udo a inserir numa ROM para cada uma das fun co es de sa da; existem linguagens e dispositivos que programam automaticamente uma ROM,

354

CAP ITULO 18. LOGICA PROGRAMAVEL

a partir das express oes booleanas das fun co es a implementar; torna-se, por isso, f acil alterar o conte udo de uma ROM (se ela permitir que o seu conte udo seja reprogramado); e os pre cos das ROMs (como, ali as, de outros PLDs) est ao em baixa cont nua, tornando-as cada vez mais econ omicas. Contudo, as ROMs apresentam dois inconvenientes: uma ROM pode ser mais dispendiosa, consumir mais pot encia, ou ser mais lenta do que um circuito que use dispositivos SSI e MSI para implementar as mesmas fun co es, ou que um circuito que use outros dispositivos l ogicos program aveis (como e o caso das PLAs e PALs que estudaremos de seguida); e quando o n umero de vari aveis e muito elevado, um circuito baseado numa ROM pode tornar-se impratic avel devido a ` limita ca o do n umero de entradas dispon vel nas ROMs comerciais. Estes inconvenientes foram explorados pelos fabricantes de circuitos integrados, levando a ` concep ca o de PLDs em que existe um certo n umero n de entradas de dados, um n umero p de ANDs e um n umero q de ORs e correspondentes sa das de dados, podendo ser programadas as liga co es entre os ANDs e as entradas, por um lado, e entre os ORs e os ANDs, por outro. Ou seja, estamos agora em presen ca de dispositivos formados por uma matriz de ANDs program aveis, seguida de uma matriz de ORs tamb em program aveis, como mostra a Figura 18.4 (comparar com a estrutura de ANDs e de ORs de uma ROM, na Figura 18.3).

Entradas e sa das de dados (de um PLD)

Entradas de dados

Matriz AND program avel

Matriz OR program avel

Sa das de dados

Figura 18.4: Uma PLA pode ser encarada como uma matriz de ANDs program aveis seguida de uma matriz de ORs program aveis
Programmable Logic Array (PLA)

Estas estruturas t em a designa ca o de PLAs, ou Programmable Logic Arrays. Naturalmente, estes dispositivos imp oem restri co es a ` estrutura das express oes booleanas a implementar, j a que cada uma das q fun co es deve vir expressa numa soma de produtos, e o n umero total de implicantes dispon veis n ao pode ultrapassar p. Por compara ca o, a implementa ca o das mesmas fun co es com uma ROM n ao sofre qualquer esp ecie de restri co es relativamente a `s suas express oes booleanas, j a que o que fazemos, nesse caso, e somar l ogicamente os mintermos necess arios a ` primeira forma can onica de cada fun ca o, e todos os mintermos est ao dispon veis nas sa das do descodicador interno ` a ROM. Consideremos a estrutura de uma PLA muito simples, na Figura 18.5.

18.2. PROGRAMMABLE LOGIC ARRAYS (PLAS)

355

H
1

L
=1 1

1 1 1

=1

&

&

&

&

&

&

Figura 18.5: Estrutura de uma PLA com n = 4 entradas de dados, p = 6 ANDs, e q = 2 ORs. Este dispositivo permite implementar duas fun co es booleanas simples de 4 vari aveis que possuam express oes booleanas em forma de somas de produtos limitadas a um m aximo de 6 implicantes Repare-se que a PLA tem 2 sa das, 4 entradas e 6 ANDs, o que permite implementar 2 fun co es booleanas simples das 4 vari aveis de entrada, com express oes em somas de produtos limitadas a 6 implicantes. Repare-se ainda que, nas saidas, as fun co es podem ser negadas ou n ao, conforme o que se programar no controlo das portas XOR nais. Como exemplo, utilizemos a PLA anterior para construir as fun co es F 1 e F 2 dadas pelas tabelas de verdade f sicas da Tabela 18.2. Para implementar estas fun co es em ROM haveria apenas que gravar as tabelas na mem oria. Usando como exemplo uma ROM de 16 8, isso signicaria realizar a programa ca o expressa na Figura 18.6. Trata-se de um processo simples mas que acarreta um grande desperd cio de hardware, dado apenas aproveitarmos duas das oito possibilidades de gera c ao de fun c oes que a ROM permite. No caso da PLA o processo ser a um pouco mais complexo, mas o resultado con-

356

CAP ITULO 18. LOGICA PROGRAMAVEL

Tabela 18.2: Tabelas de verdade f sicas de duas fun co es booleanas simples que queremos implementar com a PLA da Figura 18.5
A H L L L L L L L L H H H H H H H H B H L L L L H H H H L L L L H H H H C H L L H H L L H H L L H H L L H H D H L H L H L H L H L H L H L H L H F1 H L H L H L H L H H L H H L L L H F2 H H H L L H H L H L H L L H H L H

BIN/1-OF-16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 1 1 1 1 1 1

EN

D H C H B H A H

1 2 3 4

ROM de 16 8 F1 H F2 H

Figura 18.6: A implementa ca o das fun co es booleanas simples da Tabela 18.2 com uma ROM de 16 8 signica a programa ca o da ROM na forma que aqui se indica

18.2. PROGRAMMABLE LOGIC ARRAYS (PLAS)

357

some menos recursos, como veremos. Uma vez que necessitamos de implementar o circuito de tal modo que as fun c oes v ao estar em soma de produtos, e conveniente proceder a ` minimiza ca o das express oes booleanas para ver se conseguimos implementar as express oes com o n umero de ANDs limitados de que dispomos na PLA. Utilizaremos o m etodo de Karnaugh, como mostra a Figura 18.7.
CD AB
0

CD 00
1

01
3

11
2

10 0
6

AB
0

00
1

01
3

11
2

10 0
6

00
4

0
5

1
7

1 1
15 14

00
4

1
5

1
7

0 1
15 14

01
12

0
13

1 0
9 11

0 0
10

01
12

1
13

1 1
9 11

0 0
10

11
8

0 1

1 1

11
8

1 0

1 0

10

10

F1 = A D + C D + AB D

F2 = AC + B C + C D + B D

Figura 18.7: Mapas de Karnaugh para a implementa ca o das fun co es booleanas simples da Tabela 18.2 Obtemos: F1 = AD + C D + AB D F2 = AC + B C + C D + B D . A coloca ca o de F 1 na PLA n ao oferece qualquer problema: s ao utilizados tr es ANDs com as entradas ligadas de forma a conseguir os tr es produtos necess arios, e utiliza-se um dos ORs para somar esses ANDs. O XOR nal e programado para n ao negar a fun ca o (Figura 18.8). que s Surge um problema, contudo, quando queremos implementar F 2. E ao precisos 4 produtos, todos diferentes dos tr es j a usados, e a PLA j a s o tem tr es. Podemos, por em, reparar que, no mapa de Karnaugh, se agruparmos os 0s em vez dos 1s, obteremos uma express ao mais simples. Contudo, a PLA n ao tem uma estrutura que facilite o uso de produtos de somas. Por isso recorremos a um estratagema, que e o de obter a express ao da nega c ao de F 2 e, depois, usar a possibilidade oferecida pela PLA para negar essa nega ca o, obtendo-se a fun ca o F 2 pretendida. Nesse caso, o mapa de Karnaugh para F 2 ser a o que se ilustra na Figura 18.9. E a express ao obtida para o complemento de F 2 e F2 = B C + C D + AB D . a foi programado Repare-se que um dos produtos necess arios, o produto A B D, j na PLA por causa de F 1. O resultado nal ser a, ent ao, o que se ilustra na Figura 18.10. As PLAs comerciais possuem, naturalmente, tamanhos diversos e diferentes do da PLA da Figura 18.5. Um exemplo e o da PLS100/101 da Philips. Trata-se de uma PLA com 16 entradas, 48 ANDs e 8 ORs.

358

CAP ITULO 18. LOGICA PROGRAMAVEL

H
1

A H
1 1

L
=1

B H
1 =1 1 1

F1 H

C H

D H
&

AD H

&

CD H

&

ABD H

&

&

&

Figura 18.8: Uma PLA como a da Figura 18.5 permite implementar directamente a fun ca o F 1 da Tabela 18.2
CD AB
0

00
1

01
3

11
2

10 1
6

00
4

0
5

0
7

1 0
15 14

01
12

0
13

0 0
9 11

1 1
10

11
8

0 1

0 1

10

F2 = B C + C D + AB D

Figura 18.9: Mapa de Karnaugh para a fun ca o F 2 da Tabela 18.2

18.3

Programmable Array Logic (PALs)

No caso das ROMs, como se viu, as liga co es dos ANDs est ao xas e e poss vel programar as liga co es dos ORs. No caso das PLAs e poss vel programar ambas

18.3. PROGRAMMABLE ARRAY LOGIC (PALS)

359

H
1

A H
1 1

L
=1

B H
1 =1 1 1

F1 H

C H

F2 H

D H
&

AD H

&

CD H

&

ABD H

&

CD H

&

BC H

&

Figura 18.10: A PLA da Figura 18.5 permite implementar directamente a fun ca o F 1 e, indirectamente, tamb em a fun ca o F 2 da Tabela 18.2 as liga co es. Vericou-se, contudo, que as potencialidades mais interessantes advinham da capacidade de programar os ANDs. Assim, desenvolveu-se um novo tipo de dispositivo em que as liga co es entre os ANDs e os ORs est ao xas e apenas e poss vel programar as liga co es dos ANDs a `s entradas, como mostra a Figura 18.11. A essa estrutura passou a chamar-se PAL, ou Programmable Array Logic. Tamb em uma PAL apresenta restri co es quanto a `s express oes booleanas das q fun co es a implementar, j a que cada uma delas deve ser representada em soma de produtos, e o n umero de implicantes da soma n ao pode exceder p por fun ca o (por compara ca o, numa PLA o n umero de implicantes dispon veis e igual a p para todas as fun co es). Um exemplo de uma poss vel PAL, com 4 entradas, 12 ANDs e 4 sa das, e o que se apresenta na Figura 18.12. Repare-se que uma das linhas de saida e realimentada para o interior da PAL (acontece isto com alguma frequ encia) para permitir construir fun co es que necessitem de um maior n umero de ANDs.

Programmable Logic Array (PLA)

360

CAP ITULO 18. LOGICA PROGRAMAVEL

Entradas de dados

Matriz AND program avel

Matriz OR xa

Sa das de dados

Figura 18.11: Uma PAL pode ser encarada como uma matriz de ANDs program aveis seguida de uma matriz de ORs xos (n ao program aveis)

&

&

1 & 1

1 & 1

Figura 18.12: Estrutura de uma PAL com n = 4 entradas, p = 12 ANDs program aveis, e q = 4 sa das

O exemplo seguinte, para al em de ilustrar a programa ca o desta PAL, exemplica tamb em este aspecto.

18.3. PROGRAMMABLE ARRAY LOGIC (PALS)

361

Admitamos, ent ao, que se pretende programar na PAL a seguinte fun ca o booleana geral: W = ABC +ABC D X = A+BCD Y = AB + CD + BD Z = ABC +ABC D + ACD + ABC D = W +AC D +AB CD. O resultado da programa ca o ser a, ent ao, o que se indica na Figura 18.13.
& 1

(18.1)

W H

A H
& 1

X H

B H
& 1

Y H

C H
& 1

Z H

D H

Figura 18.13: A PAL da Figura 18.12 e aqui utilizada para programar a fun ca o booleana geral (18.1) Este tipo de dispositivos pode tamb em incluir ip-ops nas saidas, de modo a

362

CAP ITULO 18. LOGICA PROGRAMAVEL

permitir realizar circuitos sequenciais. As folhas de especica ca o de um conjunto de dispositivos reais que existem dispon veis no mercado d ao exemplos dos dois tipos de PAL. A 16L8 e um caso de uma PAL puramente combinat oria, do tipo da ilustrada anteriormente. As 16R4, 16R6 e 16R8 s ao PALs com uma componente sequencial formada por um registo com sa das tri-state controladas por uma entrada de Enable suplementar.

Cap tulo 19

M aquinas de Estados
19.1 Circuito Controlado e Circuito de Controlo

Os sistemas digitais com alguma complexidade n ao podem ser projectados como vulgares m aquinas sequenciais s ncronas, porque os seus diagramas de estados, ou, em alternativa, as tabela de estados, s ao de grande dimens ao, com um elevado n umero de entradas e de sa das, para al em de um grande n umero de estados. Prefere-se, ent ao, organizar esses sistemas hierarquicamente, como foi sugerido no Cap tulo 8, estabelecendo uma divis ao clara entre o circuito que d a suporte ao uxo e a ` manipula ca o de dados (o chamado circuito controlado, ou circuito de dados), por um lado, e um outro circuito que controla o primeiro (o circuito de controlo). O circuito controlado e, em geral, formado por um conjunto de m odulos simples tais como contadores, registos, multiplexeres, somadores, comparadores, mem orias, algumas portas l ogicas, etc, podendo ser combinat orio ou sequencial. Pelo contr ario, o circuito de controlo e sempre um circuito sequencial s ncrono. Projectar um sistema digital complexo consiste, ent ao, em projectar o circuito de controlo e o circuito controlado correspondente. Na Figura 19.1 apresenta-se um diagrama de blocos poss vel para este sistema hier arquico. Contudo, o diagrama n ao e u nico. Por exemplo, se o sistema controlado for s ncrono, precisa de uma ou mais entradas de rel ogio, que normalmente s ao obtidas de CLK H ou da sua nega ca o. Noutros sistemas, o sinal ou sinais de rel ogio do circuito controlado s ao gerados pelo circuito de controlo. Naturalmente, se o circuito controlado for combinat orio, n ao necessita de entrada de rel ogio. O circuito de controlo de um sistema complexo designa-se abstractamente por m aquina de estados ou m aquina algor tmica, mais simplesmente pela sigla ASM, que signica Algorithmic State Machine. O que distingue uma m aquina de estados de uma vulgar m aquina sequencial s ncrona, como as que estud amos anteriormente, e a maneira como ela e pro363
M aquina de estados (algor tmica) ou ASM

Circuito de controlo e circuito controlado (de dados) Existem sistemas de controlo e sistemas controlados que s ao circuitos sequenciais ass ncronos, mas n ao os estudamos nesta cadeira.

364

CAP ITULO 19. MAQUINAS DE ESTADOS

Ordens e condicionantes do exterior Comandos

Dados de entrada

Circuito de controlo (m aquina de estados) CLK H Circuito controlado

Estado Informa c ao para o exterior Dados de sa da

Figura 19.1: Diagrama de blocos de um sistema digital complexo formado por um circuito de controlo e por um circuito controlado jectada para se inserir no sistemna global, controlando-o. Dado que o n umero de entradas e de sa das e, para uma m aquina de estados, geralmente elevado, na pr atica somos for cados a usar uxogramas na sua especica ca o e desenvolvimento.
Unidade de Controlo Unidade Central de Processamento (CPU) Banco de registos (Register File) Mem oria Central

Um exemplo de m aquina de estados e o da Unidade de Controlo de um (micro)processador, que comanda a Unidade Central de Processamento ou CPU (Central Processing Unit). Na CPU s ao guardados, num banco de registos ou Register File, as instru co es e os operandos que se obt em da Mem oria Central, s ao efectuadas as opera c oes aritm eticas e l ogicas sobre os conte udos dos operandos, e os resultados das opera co es s ao guardados no banco de registo antes de os enviar a ` Mem oria Central. Finalmente, a CPU actualiza um contador especial, designado por Contador de Programa, que cont em o endere co de mem oria onde se encontra a pr oxima instru ca o a ser operada. Naturalmente, esta m aquina de estados e complexa e dif cil de projectar, at e mesmo porque se pretende que ela seja extremamente r apida (vejam-se as elevadas frequ encias de rel ogio dos microprocessadores actuais). O projecto destas ASMs e, por essa raz ao, estudada em cadeiras de Arquitecturas de Computadores. Neste cap tulo vamos considerar um exemplo muito mais simples, de acesso a um parque de estacionamento t pico. O acesso faz-se por uma via de sentido u nico, controlada na entrada e na sa da pelas cancelas C 1 a C 3, pelos sem aforos S 1 a S 4, e pelos sensores D1 a D5. Como mostra a Figura 19.2, a m aquina de estados h a-de controlar o acesso ao parque lendo os n veis de tens ao a `s sa das dos sensores e gerando os sinais de controlo das cancelas e dos sem aforos, e os sinais de comando para o circuito

Contador de Programa

19.1. CIRCUITO CONTROLADO E CIRCUITO DE CONTROLO

365

controlado. Por outro lado, o circuito controlado h a-de indicar quando o parque se encontra cheio, enviando para o circuito de controlo um sinal de estado adequado.

D2 S3 D3 S4 C3 D5 D4 C2 D1 S2 S1 C1

Figura 19.2: O controlo do acesso ao parque de estacionamento dever a abrir ou fechar as cancelas de acesso C 1 a C 3 consoante os valores lidos nos sensores D1 a D5 e controlar os sem aforos S 1 a S 4, para al em de gerar os sinais de comando (no caso, dois sinais de rel ogio) necess arios ao funcionamento do circuito controlado, recolhendo deste o sinal de estado que indica quando o parque est a cheio Quanto ao circuito controlado, vai ser constitu do por um contador ascendente/descendente, que guarda a informa ca o sobre o n umero de carros estacionados no parque (Figura 19.3). O contador possui duas entradas de rel ogio, uma designada por CP.U P H, que incrementa o contador de uma unidade, e outra designada por CP.DOW N H, que decrementa o contador de uma unidade (este e um exemplo em que os sinais de rel ogio necess arios ao funcionamento do circuito controlado s ao gerados pelo circuito de controlo). Quando o contador atinge um valor de contagem igual a ` capacidade m axima do parque, gera um sinal de estado, F U LL H, para o circuito de controlo.
CTR CP.UP H CP.DOWN H FULL H

Figura 19.3: O circuito controlado e formado por um contador ascendente/descendente que indica, em cada instante, o n umero de carros estacionados no parque O funcionamento do sistema de acesso ao parque e o que se descreve a seguir. Quando o parque est a cheio, s o podem sair carros. Quando n ao est a cheio, podem entrar ou sair. Porque a rua de acesso e estreita, s o pode passar um carro de cada vez. A sa da e detectada pela presen ca de um carro que pisa D4. Se n ao h a entrada em curso, o sem aforo S 4 ca verde e a cancela C 3 abre. Em seguida

366

CAP ITULO 19. MAQUINAS DE ESTADOS

espera-se que o carro pise D5 e saia, para se fechar a cancela e colocar o sem aforo S 4 em vermelho. Entretanto, coloca-se o sem aforo S 2 a verde. Quando o carro pisa D2, abre-se C 2, que se mant em aberta enquanto a viatura estiver a pisar D2. Quando o carro deixar de pisar D2, o sem aforo S 2 passa a vermelho e C 2 fecha. Nessa altura desconta-se uma unidade no contador de lugares ocupados no parque. A entrada come ca com um carro a pisar D1. Se n ao h a sa da em curso, o sem aforo S 1 ca verde e a cancela C 1 abre, cando aberta enquanto o carro e detectado por D1. Quando o carro deixa D1, S 3 ca a verde, e quando chega a D3 a cancela C 3 e aberta e o carro entra, passando S 3 a vermelho e cando o circuito a ` espera que D5 venha pisado (em rigor, pod amos passar sem S 3. Porqu e?). S o depois de D5 deixar de ser pisado e que C 3 fecha. Nessa altura, o contador e incrementado. Tendo em aten ca o o modelo geral da Figura 19.1, para este caso particular a situa ca o e a que descreve na Figura 19.4.
D3 H D5 H D1 H D2 H D4 H

CP.UP H CP.DOWN H Circuito de controlo FULL H CLK H Circuito controlado

C1 H C3 H S2 H C2 H S1 H

S4 H

S3 H

Figura 19.4: Modelo da Figura 19.1, adaptado ao controlo do acesso ao parque de estacionamento da Figura 19.2

19.2

M aquinas de Estados e Fluxogramas

Naturalmente, podia-se tentar obter em seguida um diagrama de estados para a m aquina de estados que controla o acesso ao parque de estacionamento. Por em, como este circuito tem 6 entradas e 9 sa das, o diagrama caria muito confuso. Da que se recorra a um uxograma, por ser mais compacto. Esta e, ali as, a forma mais comum de especicar e documentar as ASMs, dadas as suas complexidades habituais. O uxograma de controlo de acesso ao parque de estacionamento encontra-se ilustrado nas Figuras 19.5 e 19.6, dada a sua complexidade.

COM ROMS 19.3. IMPLEMENTAC AO

367

1 E0 Espera

FULL H

D4 H H H

D4 H L

3 L D1 H H 2

Figura 19.5: Parte inicial do uxograma da ASM da Figura 19.4 Dado encontrar-se repartido por duas guras, o uxograma obriga a ` inclus ao de indicadores de mudan ca de gura, representados por c rculos numerados. A explica ca o do uxograma e o bvia, pelo que dispensamos os respectivos coment arios. Frisa-se, contudo, que se utilizaram as mesmas conven co es que foram usadas na Sec ca o 16.9 a prop osito das Figuras 16.37 a 16.39 (p aginas 310 a 312): 1. admite-se que todas as entradas e sa das s ao activas a H; 2. admite-se que a activa c ao de uma cancela signica levant a-la; e 3. admite-se que a activa c ao de um sem aforo signica coloc a-lo a verde.

19.3

Implementa c ao com ROMs

Como se viu at e agora, existem dois problemas s erios que dicultam a implementa ca o de circuitos sequenciais com um elevado n umero de estados, de entradas e de sa das, como acontece com as m aquinas de estados. Por um lado, necessita-se de uma grande quantidade de l ogica diversa para gerar as excita c oes dos ip-ops e as sa das dos circuitos. E, por outro, e em geral dif cil sintetisar o circuito, dada a dimens ao do uxograma (ou diagrama de estados, ou tabela de estados) a que muitas vezes se chega. Ou ltimo aspecto foi facilitado com a s ntese com um ip-op por estado, muito utilizada nas implementa co es com dispositivos l ogicos program aveis devido a `

368

CAP ITULO 19. MAQUINAS DE ESTADOS

E1

Entrada C1 H, S1 H

E6

Sa da C3 H, S4 H

D1 H L

D4 H L E7

E2 S3 H

C3 H, S4 H

D3 H H

D5 H H E8

E3 C3 H, S3 H

C3 H

D3 H L

D5 H L E9

E4 C3 H

S2 H

D5 H H

D2 H H E 10 C2 H, S2 H CP.DOWN H L L

E5 C3 H, CP.UP H

D5 H

D2 H

Figura 19.6: Continua ca o do uxograma da Figura 19.5, correspondente a `s situa co es de entrada ou de sa da de um carro no parque de estacionamento

exist encia de programas que geram automaticamente solu co es prontas a serem transferidas para alguns desses dispositivos, nomeadamente CPLDs e FPGAs. Naturalmente, existem sempre limita co es quanto a `s dimens oes desses dispositivos, pelo que se procurou obter outro modo de implementa ca o de circuitos de controlo que usasse pouca l ogica discreta e que permitisse a implementa ca o de

COM ROMS 19.3. IMPLEMENTAC AO muitos estados, entradas e sa das.

369

O uso de ROMs permitiu caminhar nesse sentido. Permitiu mesmo dar um passo muito signicativo na evolu ca o dos circuitos de controlo complexos, com o aparecimento do controlo microprogramado ou microprograma c ao, caracter stico dos processadores CISC das mainframes das d ecadas de 60 a 80. O aparecimento dos modernos microprocessadores RISC fez perder import ancia a este tipo de controlo, que e lento se precisarmos de usar ROMs de grandes dimens oes, em tecnologia nMOS. A alternativa consistiu em implementa co es com PALs ou PLAs (muito r apidas) e s nteses com um ip-op por estado, gerando implementa co es de dimens oes muito consider aveis. Nesta sec ca o iremos estudar as implementa c oes por ROM, nas suas vers oes mais simples. Contudo, deve car claro que n ao vamos abordar os problemas da microprograma ca o que, por serem muito variados e complexos, deixaremos para uma cadeira posterior de Arquitectura de Computadores. Limitar-nos-emos, assim, a abordar os princ pios b asicos de implementa ca o de m aquinas de estado usando um controlo por ROM, em diversas vers oes sucessivamente mais complexas, sendo que a u ltima cont em j a os fundamentos do controlo microprogramado.

Controlo microprogramado (microprograma ca o) Processadores CISC Microprocessadores RISC

19.3.1

Estrutura b asica de controlo por ROM

Uma m aquina de estados pode ser implementada com uma estrutura suportada numa ROM, como a que vem ilustrada na Figura 19.7.
ROM Entradas actuais A0 A1 A2 REG Ap-2 Ap-1 CLK H D0 D1 D2 Sa das actuais

Dn-2 Dn-1

Estado seguinte

Estado actual

Figura 19.7: Diagrama de blocos de uma m aquina de estados com controlo por ROM que utiliza uma estrutura b asica Se compararmos este diagrama de blocos com o da Figura 16.4, na p agina 283, compreendemos que a ROM que agora vamos usar substitui a l ogica do estado seguinte e a l ogica de sa da do circuito. Se, por outro lado, compararmos este diagrama de blocos com o da Figura 19.1, vericamos que as entradas da Figura 19.7, sendo, naturalmente, as entradas externas da m aquina de estados, s ao agora compostas pelas entradas externas do

370

CAP ITULO 19. MAQUINAS DE ESTADOS

circuito de controlo (as ordens e condicionantes da Figura 19.1) e pelas entradas de estado que prov em do circuito controlado. Identicamente, as sa das da Figura 19.7, isto e, as sa das externas a ` m aquina de estados, s ao compostas pelas sa das para o exterior do circuito de controlo (a informa ca o para o exterior) e pelas sa das (comandos) para o circuito controlado. Como podemos constatar no diagrama de blocos anterior, as entradas da m aquina e os sa das dos ip-ops (o seu estado actual, EA) constituem o barramento de endere cos da ROM, A0 a Ap1 . a dividido em duas partes: (i) Quanto ao barramento de dados, D0 a Dn1, est as entradas de excita ca o dos ip-ops, que decidem o estado seguinte, ES, da m aquina; e (ii) as sa das para o exterior da m aquina de estados. Quando, num per odo de rel ogio t, aplicamos ao barramento de endere cos um determinado endere co, isso signica que a m aquina se encontra num determinado estado (actual, no per do t) e tem certos n veis de tens ao aplicados a `s entradas (actuais). O conte udo da palavra que e lida da ROM nesse endere co, e que foi previamente programado, identica as sa da (actuais) a gerar para o exterior da m aquina, e o estado (seguinte, no per odo de rel ogio t + 1) para o qual a m aquina ir a evoluir.
Campos

Tudo se passa como se a palavra lida da ROM (o conte udo desse endere co) se encontrasse formatada em dois campos, um para o estado seguinte e outro para as sa das actuais, como mostra a Figura 19.8.
Estado seguinte (ES) Sa das actuais

Figura 19.8: Formato das palavras quando se usa uma estrutura b asica de controlo por ROM Para entendermos como programar a ROM para o correcto funcionamento deste tipo de controlo, consideremos na Figura 19.9 um uxograma muito simples de uma m aquina de Mealy. Neste caso temos: 3 estados, A, B e C ; podemos, portanto, usar 2 vari aveis de estado, digamos Q1 H e Q0 H; duas vari aveis de entrada, I 0 H e I 1 H; e duas vari aveis de sa da: X H, de Mealy, gerada no estado A se a entrada I 1 estiver inactiva, e Y H, de Moore, gerada no estado C . O diagrama de blocos da Figura 19.7 ca, com esta m aquina, estruturado como se indica na Figura 19.10. O formato de cada palavra de ROM e o que se indica na Figura 19.11. A codica ca o dos estados e arbitr aria, pelo que usaremos a atribui ca o de vari aveis de estado que consta da Tabela 19.1. Porque vamos trabalhar no contexto

COM ROMS 19.3. IMPLEMENTAC AO

371

I1 H

H C Y H

X H B

I0 H

Figura 19.9: Fluxograma de uma m aquina de estados de Mealy muito simples que serve de exemplo para uma implementa ca o por ROM, na sua estrutura b asica
ROM I0 H I1 H
1D

A0 A1 Q0 H A2

D0 D1 D2 NQ0 H

X H Y H

CLK H

C1 1D C1

Q1 H

A3

D3

NQ1 H

Figura 19.10: Diagrama de blocos com a estrutura b asica de controlo por ROM para a m aquina de estados da Figura 19.9
3 N Q1 2 N Q0 1 Y 0 X Bits de dados

Figura 19.11: Formato das palavras quando se usa um controlo por ROM b asico na implementa ca o da m aquina de estados da Figura 19.9 alg ebrico quando lidamos com as ROMs e com os seus conte udos, todas as tabelas que iremos usar neste cap tulo envolvem exclusivamente 0s e 1s. O conte udo da ROM vai ser denido por uma tabela de estados l ogica como a da Tabela 19.2. Como se observou anteriormente, os conte udos das palavras de ROM cont em

372

CAP ITULO 19. MAQUINAS DE ESTADOS

Tabela 19.1: Tabela com a codica ca o de estados para o circuito de controlo da Figura 19.9, com controlo por ROM b asico
Estado actual A B C Q1 H(t) 0 0 1 Q0 H(t) 0 1 0

Tabela 19.2: Tabela de estados l ogica com o conte udo da ROM a programar para a m aquina de estados da Figura 19.9, quando se utiliza uma estrutura b asica de controlo
Q1 Estado A A A A B B B B C C C C Endere co 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Q0 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 I1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 I0 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 NQ1 D3 0 0 1 1 0 0 0 0 1 0 1 0 NQ0 D2 1 1 0 0 0 0 0 0 0 0 0 0 Y D1 0 0 0 0 0 0 0 0 1 1 1 1 X D0 1 1 0 0 0 0 0 0 0 0 0 0

0s e 1s (em vez de Hs e de Ls) porque estamos a trabalhar no contexto alg ebrico com uma tabela de estados l ogica. de notar ainda que os 16 endere E cos de ROM (porque existem 4 linhas de endere co) s ao repartidos por 4 zonas com 4 endere cos cada uma: uma zona para o estado A, outra para o estado B , outra para o estado C e, nalmente, uma quarta zona que n ao e utilizada. Nesta u ltima zona colocaram-se indiferen cas nos conte udos das palavras (porque n ao s ao utilizados), embora a programa c ao da ROM obrigue a especicar 0s e 1s. Isto e, a programa c ao da ROM exige a coloca ca o de 0s ou de 1s no lugar das indiferen cas .

COM ROMS 19.3. IMPLEMENTAC AO

373

Vejamos como se constr oi uma linha qualquer da ROM, por exemplo a linha com endere co 0. Essa linha corresponde ao estado actual A (porque Q1 = Q0 = 0) com as entradas actuais I 1 = I 0 = 0. Como I 1 = 0 neste estado, queremos ir para o estado B , pelo que N Q1 = 0 e N Q0 = 1. Por outro lado, no estado A queremos activar X e desactivar Y , pelo que programamos X = 1 e Y = 0.

19.3.2

Controlo por ROM com endere camento expl cito

Para construir o circuito correspondente ao exemplo do parque de estacionamento com a metodologia anterior, a ROM deveria ter dimens oes consider aveis:

10 linhas de endere co, sendo 6 correspondentes a `s entradas 5 externas ao sistema e uma de estado e 4 correspondentes a `s vari aveis de estado; e 12 linhas de sa da, sendo 4 no campo Estado seguinte e 9 no campo Sa das 7 para o exterior do sistema e duas de comandos para o circuito controlado. Tratar-se-ia de uma ROM com 1 024 palavras de 12 bits, o que, n ao levantando qualquer problema do ponto de vista pr atico, exige uma ROM j a com uma dimens ao consider avel. Por em, na maior parte dos circuitos reais, com um elevado n umero de vari aveis de entrada, de sa da e de estado, esta metodologia pode car comprometida. Felizmente, h a alternativas. Na primeira, que iremos estudar em seguida, as vari aveis de entrada s ao retiradas do barramento de endere cos da ROM, o que permite diminuir consideravelmente o n umero de palavras relembremos que cada linha de endere co a menos numa mem oria signica a redu c ao do n umero de palavras para metade. Como n ao se pode prescindir da inu encia das vari aveis de entrada no funcionamento da m aquina de estados, algo tem que ser feito. A ideia b asica consiste em: 1. eliminar as suas ac co es nas sa das, transformando as sa das de Mealy em sa das de Moore; e 2. limitar as ac co es das vari aveis de entrada nas mudan cas de estado, por forma a que, de cada estado actual, s o se possa evoluir para um de dois estados seguintes (incluindo, eventualmente, o pr oprio). Analisemos a estrutura e dois exemplos. O novo diagrama de blocos e agora o que se ilustra na Figura 19.12. Notemos como cada palavra da ROM vem agora formatada em quatro campos, sendo dois para o estado seguinte (ES0 e ES1), um para o teste das entradas, e um quarto campo para as sa das actuais (Figura 19.13). Porque cada palavra de ROM indica explicitamente dois estados seguintes em
Endere camento expl cito

374

CAP ITULO 19. MAQUINAS DE ESTADOS


Estado seguinte 1 (ES1) ROM D0 D1 Estado seguinte 0 (ES0) Sa das actuais MUX2 A0 A1

REG

Ap-1 CLK H

Teste MUX1

Estado seguinte

Estado actual

Dn-1 Entradas actuais

Figura 19.12: Diagrama de blocos de uma m aquina de estados que utiliza um controlo por ROM com endere camento expl cito
Sa das actuais

Teste

ES1

ES0

Figura 19.13: Formato das palavras de ROM quando se usa um controlo com endere camento expl cito alternativa, esta estrutura e designada por controlo por ROM com endere camento expl cito. O MUX1 tem as suas linhas de entradas de dados ligadas a `s linhas de entrada do circuito de controlo. As linhas do campo de teste da ROM permitem, para cada estado actual, escolher a entrada ou combina co es de entradas a testar. Se a entrada seleccionada tiver o valor 0, por exemplo, ent ao o estado seguinte escolhido e o que vier indicado no campo ES0. No caso contr ario, ser a o estado seguinte ES1 a ser escolhido. Notemos que, desta forma, podemos facilmente implementar toda e qualquer transi ca o condicionada que encontremos num uxograma. As transi c oes incondicionais, que n ao envolvem testes a vari aveis de entrada, s ao igualmente f aceis de implementar: basta que programemos o mesmo estado seguinte nos campos ES0 e ES1. Voltemos, ent ao, a ` nossa m aquina de estados simples, com o uxograma da Figura 19.9. Para utilizar este tipo de estrutura, o uxograma vai ter que ser transformado. Se tal n ao f or poss vel, ent ao ser a necess aria alguma forma de l ogica adicional.

COM ROMS 19.3. IMPLEMENTAC AO

375

Neste caso a sa da X e de Mealy, pelo que precisamos de transformar a m aquina de estados numa m aquina de Moore. Por outro lado, de cada estado actual s o se vai, no m aximo, para dois estados seguintes, pelo que, a esse n vel, n ao s ao necess arias altera co es. Para passar a sa da X a sa da de Moore, temos duas hip oteses: (i) inclui-se X no estado B ; ou (ii) acrescenta-se um estado antes de B . Em qualquer dos casos X vem activada mais tarde do que previsto, dependendo a escolha das temporiza co es espec cas da aplica ca o. Vamos admitir que X pode ser inclu da no estado B , obtendo-se o uxograma da Figura 19.14.

L B X H

I1 H

H C Y H

I0 H

Figura 19.14: A m aquina de estados de Mealy da Figura 19.9 tem de ser transformada numa m aquina de Moore para se poder utilizar um controlo por ROM com endere camento expl cito. Neste caso, admitiu-se que a sa da X podia vir activada no estado B Nessa hip otese, o diagrama de blocos da m aquina de estados ser a o que se ilustra na Figura 19.15. A ROM passou a ser constitu da por 4 palavras de 7 bits, em vez das 16 palavras de 4 bits necess arias para a estrutura b asica de controlo. De notar que as linhas N Q 0 s ao os bits de estado seguinte 0 (ES0) quando o resultado da vari avel testada der 0, e as linhas N Q 1 s ao os bits de estado seguinte 1 (ES1) quando a vari avel testada der 1. O formato de cada palavra de ROM e o que se indica na Figura 19.16. Para a mesma codica ca o de estados da Tabela 19.1, o conte udo da ROM e, com esta estrutura, a que se indica na Tabela 19.3. Em rela ca o a esta tabela, tecem-se alguns coment arios: 1. como se armou anteriormente, as linhas N Q00 e N Q10 s ao os bits de ES0 quando o resultado da vari avel testada for 0, e as linhas N Q01 e N Q11 s ao os bits de ES1 quando a vari avel testada tiver o valor 1; e 2. na linha correspondente ao estado A testa-se a entrada I 1 trata-se de uma transi ca o condicionada ao valor de I 1 no estado A;

376

CAP ITULO 19. MAQUINAS DE ESTADOS

ROM D0 D1 NQ00 H NQ10 H NQ01 H NQ11 H 1 MUX2 0 NQ0 H NQ1 H X H Y H

REG

Q0 H

D2 A0 D3 D4

Q1 H CLK H

D5 A1

D6

Teste 0

MUX1 1 I1 H

I0 H

Figura 19.15: Diagrama de blocos para a m aquina de estados da Figura 19.14, com controlo por ROM com endere camento expl cito
6 Teste Teste 5 N Q11 4 N Q01 3 N Q10 2 N Q00 1 Y 0 X Bits de dados

ES1

ES0

Sa das actuais

Figura 19.16: Formato das palavras num controlo por ROM com endere camento expl cito para a m aquina de estados da Figura 19.14

Tabela 19.3: Tabela de estados l ogica com o conte udo da ROM a programar para a m aquina de estados da Figura 19.14, quando se utiliza uma estrutura de controlo com endere camento expl cito
Q1 Estado A B C A1 0 0 1 1 Q0 A0 0 1 0 1 Teste D6 1 0 NQ11 D5 1 0 0 NQ01 D4 0 0 0 NQ10 D3 0 0 1 NQ00 D2 1 0 0 Y D1 0 0 1 X D0 0 1 0

3. na linha correspondente ao estado B n ao e feito qualquer teste, pelo que e indiferente o valor a inserir no campo com o mesmo nome (contudo, ver a observa ca o anterior que arma que n ao podemos programar indiferen cas na tabela);

COM ROMS 19.3. IMPLEMENTAC AO

377

4. a transi ca o a partir do estado B e incondicional, pelo que os dois campos de estado seguinte apontam ambos para o estado A; 5. nalmente, no estado C testa-se I 0 (outra transi ca o condicionada, desta feita ao valor de I 0). Consideremos agora o caso do parque de estacionamento e os uxogramas das Figuras 19.5 e 19.6. Neste caso n ao e preciso alterar as sa das, porque s ao todas de Moore. Mas e preciso acrescentar alguns estados para garantir que, de qualquer um estado actual, apenas se prossegue para um de dois estados seguintes, no m aximo. Tal torna-se necess ario apenas nas transi co es que partem do estado E 0, pelo que apenas a parte do uxograma da Figura 19.5 precisa de ser redesenhada, como se ilustra na Figuras 19.17.

1 E0 Espera

L P

FULL H

H R

D4 H H H

D4 H L Q

D1 H H 2

Figura 19.17: Parte inicial do uxograma das Figuras 19.5 e 19.6, modicado para permitir um controlo por ROM com endere camento expl cito Por comodidade, reproduz-se na Figura 19.18 o resto do uxograma de controlo. Agora vamos necessitar de 4 ip-ops, porque precisamos de codicar 14 estados. Sendo indiferente a codica ca o das vari aveis de estado, podemos usar a codica c ao da Tabela 19.4.

378

CAP ITULO 19. MAQUINAS DE ESTADOS

E1

Entrada C1 H, S1 H

E6

Sa da C3 H, S4 H

D1 H L

D4 H L E7

E2 S3 H

C3 H, S4 H

D3 H H

D5 H H E8

E3 C3 H, S3 H

C3 H

D3 H L

D5 H L E9

E4 C3 H

S2 H

D5 H H

D2 H H E 10 C2 H, S2 H CP.DOWN H L L

E5 C3 H, CP.UP H

D5 H

D2 H

Figura 19.18: Continua ca o do uxograma da Figura 19.17

O diagrama de blocos da m aquina de estados ser a, por sua vez, o que se indica na Figura 19.19. De notar que as linhas N Q00 H a N Q30 H designam os bits do estado seguinte 0 (ES0) quando o resultado da vari avel testada for o valor 0, e que as linhas N Q01 H a N Q31 H designam os bits do estado seguinte 1 (ES1) quando a vari avel testada tiver o valor 1.

COM ROMS 19.3. IMPLEMENTAC AO

379

Tabela 19.4: Tabela de codica ca o de estados para a m aquina de estados das Figuras 19.17 e 19.18, com controlo por ROM com endere camento expl cito
Estado E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E 10 P Q R Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

A ROM ter a, agora 16 palavras de 20 bits, com o formato que se ilustra na Figura 19.20. Utilizando a codica ca o de estados da Tabela 19.4, o conte udo da ROM para esta m aquina de estados e, com uma arquitectura com endere camento expl cito, a que se indica na Tabela 19.5. Por exemplo, a primeira linha, com endere co 0 e com (Q3, Q2, Q1, Q0) = (0, 0, 0, 0) , corresponde ao estado E 0, de acordo com a codica ca o de estados da Tabela 19.4. Ora, neste estado testa-se a vari avel de entrada F U LL, que foi ligada a ` entrada 0 do MUX1 do diagrama de blocos da Figura 19.19. Segue-se que (T 2, T 1, T 0) = (0, 0, 0) nesta linha da ROM. Se F U LL = 1 deve escolher-se o estado seguinte 1 (isto e, ES1), que se encontra codicado nos bits D16 a D13 da palavra da ROM com as designa co es N Q31 a N Q01, respectivamente. Nesta situa ca o (com F U LL = 1), vai-se do estado actual E 0 para o estado seguinte R, de acordo com o uxograma da Figura 19.19. Ora o estado R foi codicado com (Q3, Q2, Q1, Q0) = (1, 1, 0, 1) ,

Tabela 19.5: Tabela de estados l ogica com o conte udo da ROM a programar para a m aquina de estados das Figuras 19.17 e 19.18, quando se utiliza uma estrutura de controlo com endere camento expl cito
Teste T2 D19 D18 D17 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 D16 D15 D14 D13 D12 D11 D10 D9 D8 D7 T1 T0 NQ31 NQ21 NQ11 NQ01 NQ30 NQ20 NQ10 NQ00 ES1 ES0 Sa das actuais CP.DOWN CP.UP S4 S3 S2 S1 C3 C2 C1 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

Q3 Q2 Q1 Q0

Estado

A3 A2 A1 A0

E0

E1

E2

E3

E4

CAP ITULO 19. MAQUINAS DE ESTADOS

E5

E6

E7

E8

E9

E 10

380

COM ROMS 19.3. IMPLEMENTAC AO


ROM D0 D1 D2 D3 D4 D5 D6 D7 D8 NQ00 NQ10 NQ20 NQ30 NQ01 NQ11 NQ21 NQ31 H H H H H H H H MUX2 NQ0 H NQ1 H NQ2 H NQ3 H 1

381

C1 H C2 H C3 H S1 H S2 H S3 H S4 H CP.UP H CP.DOWN H

NQ0 H NQ1 H NQ2 H NQ3 H CLK H

REG

Q0 H Q1 H Q2 H Q3 H

A0 A1 A2 A3

D9 D10 D11 D12 D13 D14 D15 D16

D17 T0 H D18 T1 H D19 T2 H

MUX1 0 1 2 3 4 5

Figura 19.19: Diagrama de blocos da m aquina de estados das Figuras 19.17 e 19.18, com controlo por ROM com endere camento expl cito

19

18

17

16

15

14

13

12

11

10

FULL D1 D2 D3 D4 D5
7 6 5 4 3 2

H H H H H H

T 2 T 1 T 0 N Q31 N Q21 N Q11 N Q01 N Q30 N Q20 N Q10 N Q00 CP.DOW N CP.U P

S4 S3 S2 S1 C 3 C 2 C 1

Teste

ES1

ES0

Sa das actuais

Figura 19.20: Formato das palavras num controlo por ROM com endere camento impl cito para a m aquina de estados das Figuras 19.17 e 19.18

pelo que, nesta linha da ROM, o campo ES1 vem preenchido com essa codica ca o. Quanto a `s sa das actuais da m aquina de estados, cam todas desactivadas no estado E 0. Se, pelo contr ario, F U LL = 0, deve escolher-se o estado seguinte 0 (isto e, ES0), que se encontra codicado nos bits D12 a D9 da palavra da ROM com as designa co es N Q30 a N Q00, respectivamente. Neste caso vai-se para o estado

382 seguinte P , que foi codicado com

CAP ITULO 19. MAQUINAS DE ESTADOS

(Q3, Q2, Q1, Q0) = (1, 0, 1, 1) , continuando a desactivar-se todas as sa das no estado E 0. De forma semelhante pod amos preencher as restantes linhas com a programa ca o da ROM.

19.3.3

Controlo por ROM com endere camento impl cito

Endere camento impl cito

Uma variante da estrutura anterior usa implicitamente um dos dois endere cos de estado seguinte, permitindo reduzir ainda mais as dimens oes da ROM. Por essa raz ao, este tipo de controlo designa-se por controlo por ROM com endere camento impl cito. Nessa estrutura, substitui-se o registo por um contador com carregamento em paralelo (Figura 19.21), e rearruma-se o uxograma para que, de cada estado actual, se possa evoluir para o estado seguinte de contagem, ou ent ao saltar para um outro estado qualquer, n ao colocado imediatamente a seguir em termos de contagem.
ROM CTR CLK H [LOAD] A0 A1 N vel Teste
=1

D0 D1

Sa das actuais

MUX Ap-1 Entradas actuais Estado actual Dn-1 Estado seguinte H

LOAD H

Figura 19.21: Diagrama de blocos de uma m aquina de estados com controlo por ROM com endere camento impl cito Agora n ao e preciso ter dois campos de estado seguinte na ROM, como acontecia com o endere camento expl cito, e a poupan ca em mat eria de n umero total de palavras prov em desse facto. De notar que a poupan ca e na dimens ao de cada palavra , e n ao no n umero de palavras (que at e pode ser ligeiramente superior ao do controlo com endere camento expl cito). Usando esta estrutura, h a tr es hip oteses a partir de cada estado actual:

COM ROMS 19.3. IMPLEMENTAC AO


Contagem

383

ou se continua a contar para o estado seguinte (contagem); ou se salta para um estado que n ao e o estado seguinte de contagem, consoante o valor de uma vari avel de entrada (transi c ao condicionada ou salto condicionado); para isso, existe um campo Teste que seleciona a vari avel de entrada, e um campo N vel onde se decide se o salto se deve efectuar quando ela tiver o valor 1 ou o valor 0; ou se salta incondicionalmente (independentemente do valor de qualquer vari avel de entrada) para um estado que n ao e o estado seguinte de contagem (transi c ao ou salto incondicional), quando o estado seguinte corresponde obrigatoriamente a um salto na contagem; nesse caso selecciona-se a entrada 1 do MUX, e coloca-se o campo N vel a 1 (isso signica, de acordo com a mnem onica anterior, salta se 1 f or 1, o que e, obviamente, verdadeiro). Pode-se resumir a funcionalidade dos campos Teste e N vel com a seguinte mnem onica: salta-se se o valor da vari avel de entrada seleccionada pelo campo Teste f or igual ao do campo N vel . O XOR com n veis de actividade diferentes nas entradas assegura essa funcionalidade, fazendo o carregamento em paralelo do contador em todas as situa co es de salto, e deixando contar no caso contr ario (relembrar que um XOR tem a sa da activa se uma e apenas uma das suas entradas estiver activa). No exemplo do parque de estacionamento temos ainda 4 linhas de endere co, cada uma correspondendo a um estado actual (tal como sucedia com o controlo por ROM com endere camento expl cito), mas as palavras agora v ao ter menos bits: 9 bits de sa da; 1 bit de n vel; 3 bits de teste; e 4 bits de estado seguinte, num total de 17 bits por palavra. Cada palavra possui, ent ao, o formato que se ilustra na Figura 19.22.
16 N Q3 15 N Q2 14 N Q1 13 N Q0 12 T2 11 T1 10 T0 9 N 8 7 6 5 4 3 2 1 0

Transi ca o condicionada (salto condicionado)

Transi ca o (salto) incondicional

CP.DOW N CP.U P

S4 S3 S2 S1 C 3 C 2 C 1

ES

Teste

N vel

Sa das actuais

Figura 19.22: Formato das palavras num controlo por ROM com endere camento impl cito para a m aquina de estados que controla o acesso ao parque de estacionamento da Figura 19.2 Com podermos usar esta estrutura de controlo, agora temos que ter cuidado com a codica ca o das vari aveis de estado, ao contr ario do que sucedia com as arquitecturas anteriores, em que as codica co es eram arbitr arias.

384

CAP ITULO 19. MAQUINAS DE ESTADOS

Com efeito, agora temos de garantir que o estado seguinte a cada estado actual possui, tanto quanto poss vel, a congura ca o que se segue a ` do estado actual, ou ent ao codicamo-lo com uma congura ca o que corresponde a um salto. Ora, se examinarmos o uxograma das Figuras 19.17 e 19.18, constatamos que esse tipo de codica co es e simples de atribuir aos diversos estados, com excep ca o dos estados E 5 e E 10. Com efeito, E 5 evolui para E 5 ou para E 0, e E 10 evolui para E 10 ou para E 0, isto e, E 5 e E 10 evoluem, cada um, para um de dois estados em que nenhum deles e o estado seguinte na sequ encia natural de contagem Da que tenhamos que fazer uma nova altera ca o no uxograma. H a que criar dois novos estados seguintes a E 5 e a E 10 que evoluam depois com saltos incondicionais para o estado inicial, E 0. Para tanto, desenhamos nas Figuras 19.23 e 19.24 o novo uxograma para a m aquina de estados que controla o acesso ao parque de estacionamento, necess ario para este tipo de controlo.

1 E0 Espera

L P

FULL H

H R

D4 H H H

D4 H L Q

D1 H H 2

Figura 19.23: Parte inicial do uxograma da m aquina de estados que controla o acesso ao parque de estacionamento, quando se utiliza um controlo por ROM com endere camento impl cito Reparemos que a Figura 19.23, com o in cio do uxograma, e igual a ` Figura 19.17 porque esta parte do uxograma n ao precisa de ser alterada. Por outro lado, a Figura 19.24 e semelhante a ` Figura 19.18, excepto que possui os dois estados suplementares, S e T , que se acabaram de referir.

COM ROMS 19.3. IMPLEMENTAC AO

385

E1

Entrada C1 H, S1 H

E6

Sa da C3 H, S4 H

D1 H L

D4 H L E7

E2 S3 H

C3 H, S4 H

D3 H H

D5 H H E8

E3 C3 H, S3 H

C3 H

D3 H L

D5 H L E9

E4 C3 H

S2 H

D5 H H

D2 H H E 10 C2 H, S2 H CP.DOWN H

E5 C3 H, CP.UP H

D5 H L T

D2 H L

Figura 19.24: Continua ca o do uxograma da Figura 19.23 A nova codica ca o de vari aveis de estado ser a, ent ao, a que se indica na Tabela 19.6. Repare-se que as codica c oes dos estados S e T foram colocadas na sequ encia de E 5 e de E 10, respectivamente. As vari aveis de entrada v ao ser seleccionadas da mesma forma que no exemplo anterior, com excep ca o do facto de se incluir o n vel H na u ltima entrada (que corresponde ao salto incondicional), seleccion avel com o valor 111 no campo de

386

CAP ITULO 19. MAQUINAS DE ESTADOS

Tabela 19.6: Tabela de codica ca o de estados para a m aquina de estados das Figuras 19.23 e 19.24, com controlo por ROM com endere camento impl cito
Estado E0 P Q E1 E2 E3 E4 E5 S R E6 E7 E8 E9 E 10 T Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

teste. Obt em-se, assim, o diagrama de blocos da Figura 19.25 para a m aquina de estados que opera o controlo de acessos ao parque de estacionamento, quando se usa um controlo por ROM com endere camento impl cito. Neste caso, a tabela de verdade l ogica para a ROM ca preenchida como se indica na Tabela 19.7. Notemos como, em cada uma das linhas da Tabela 19.7, vem sempre identicada uma situa ca o de salto. A progress ao para o estado seguinte de contagem e ca o efectuada pela desactiva ca o da linha LOAD H e corresponde a uma situa em que n ao se verica a condi ca o de salto descrita nessa linha. Por exemplo, do estado actual E 0 salta-se para o estado seguinte R se F U LL = = 1. No caso contr ario, prossegue-se com a contagem para o estado seguinte a E 0, isto e, P (que n ao vem identicado na tabela, por n ao ser necess ario). Esta e uma situa ca o de salto condicionado. Pelo contr ario, do estado actual S salta-se sempre para o estado seguinte E 0, independentemente dos valores das vari aveis de entrada. Neste caso n ao h a transi ca o para um estado seguinte de contagem, pelo que estamos na presen ca de um salto incondicional.

Tabela 19.7: Tabela de estados l ogica com o conte udo da ROM a programar para a m aquina de estados das Figuras 19.23 e 19.24, quando se utiliza uma estrutura de controlo por ROM com endere camento impl cito
ES NQ3 NQ2 NQ1 NQ0 D16 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 T2 T1 T0 N CP.DOWN CP.UP S4 S3 S2 S1 C3 C2 C1 Teste N vel Sa das actuais

Q3 Q2 Q1 Q0

Estado 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

A3 A2 A1 A0

E0

E1

COM ROMS 19.3. IMPLEMENTAC AO

E2

E3

E4

E5

E6

E7

E8

E9

E 10

387

388

CAP ITULO 19. MAQUINAS DE ESTADOS

ROM D0 D1 D2 D3 D4 D5 D6 D7 D8 N H C1 H C2 H C3 H S1 H S2 H S3 H S4 H CP.UP H CP.DOWN H

CTR CLK H [LOAD] NQ0 H NQ1 H NQ2 H NQ3 H Q0 H Q1 H Q2 H Q3 H A0 A1 A2 A3

D9

=1

T0 H D10 T1 H D11 T2 H D12 D13 D14 D15 D16 NQ0 H

MUX 0 1 2 3 4 5 6 7

H H H H H H FULL D1 D2 D3 D4 D5 LOAD H

NQ1 H NQ2 H NQ3 H

Figura 19.25: Diagrama de blocos da m aquina de estados das Figuras 19.23 e 19.24, com controlo por ROM com endere camento impl cito

19.4

Exerc cios

Nota: os exerc cios identicados com um asterisco () est ao resolvidos em SD:ER. 19.1 Pretende-se desenhar uma m aquina de estados que implemente um conversor pararelo-s erie para n umeros com 8 bits. Cada n umero e identicado por N U M 7 a N U M 0, sendo N U M 7 o bit mais signicativo e N U M 0 o menos signicativo. A m aquina deve possuir uma entrada ST ART H que, quando activada, desencadeia o processo de convers ao, e uma sa da DON E H que, quando activada, indica o m do processo. Para facilitar o processo de convers ao, o circuito a controlar dever a possuir: (i) um registo PISO com 8 bits do tipo indicado na Figura 19.26; e (ii) um contador (` a sua escolha) que contabilize o n umero de deslocamentos efectuados. O registo e o contador devem possuir entradas de rel ogio que s ao o complemento da entrada de rel ogio do circuito de controlo. (a) Desenhar um diagrama de blocos que contenha o circuito de controlo e o circuito controlado, identicando claramente as entradas e as sa das

19.4. EXERC ICIOS


SRG8 EN.SHIFT H SHIFT H/LOAD L CLOCK H G4 M2 M3 C1/3,4 1,2D

389

Figura 19.26: Registo de deslocamento do tipo PISO utilizado no Exerc cio 19.1 de cada um deles. (b) Desenhar o uxograma da ASM, justicando todas as op co es que tomou, nomeadamente as que resultam de se pretender que a entrada de rel ogio do registo e do contador sejam o complemento da entrada de rel ogio do circuito de controlo. 19.2 Uma solu ca o alternativa a ` do Exerc cio anterior p oe o circuito de controlo a gerar os impulsos de rel ogio para o registo de deslocamento e para o contador. Redesenhe o uxograma da m aquina de estado nestas condi co es. 19.3 Para simplicar o circuito controlado do Exerc cio 19.1, foi decidido remover o contador de deslocamentos. Redesenhe o uxograma da ASM para este caso. 19.4 Repita os tr es exerc cios anteriores, mas agora para um conversor s erieparalelo. Utilize o registo SIPO de 8 bits que entender. 19.5 No Exerc cio 8.3 desenhou-se um circuito complementador para 2 puramente combinat orio. Agora pretende-se desenhar uma solu ca o sequencial s ncrona para o mesmo problema, sob a forma de um circuito de controlo e de um circuito controlado como o da Figura 19.27. O n umero de 8 bits a complementar e designado por DAT 7 a DAT 0, sendo DAT 7 o bit mais signicativo e DAT 0 o menos signicativo. Esse n umero deve vir inicialmente carregado em paralelo num registo de deslocamento do tipo PISO, e o seu complemento para 2 deve ser obtido em s erie na cando pelo bit de menor peso. sa da OU T H, come A m aquina de estados que controla o circuito da Figura 19.27 deve possuir uma entrada ST ART H que, quando activada, desencadeia o processo de obten ca o do complemento para 2 do n umero, e uma sa da DON E H que, quando activada, indica que a convers ao terminou. Desenhar: (i) um diagrama de blocos para a totalidade do circuito; (ii) o uxograma da ASM; e (iii) um diagrama temporal que explicite as op co es

390

CAP ITULO 19. MAQUINAS DE ESTADOS


74x161 CTRDIV16 H SRG8 EN.SHIFT H G4 M2 M3 C1/3,4 DAT7 H DAT6 H DAT5 H DAT4 H DAT3 H DAT2 H DAT1 H DAT0 H
=1

H H

SHIFT H/LOAD L
1

CT=0 M1 M2 3CT=15 G3 G4 C5/2,3,4+ 1,5D [1] [2]


&

CLK H

SHIFT.7 H

1,2D

[4] [8]

BIT.ACTUAL H

OUT H S R INVRT H

SET.INVRT H RESET.INVRT H

Figura 19.27: Circuito controlado utilizado no Exerc cio 19.5 que tomou e que mostre a gera ca o de, pelo menos, dois bits na sa da OU T H. 19.6 Repita o exerc cio anterior para o caso em que os impulsos de rel ogio para o circuito controlado s ao gerados no circuito de controlo. 19.7 Repita o exerc cio anterior para o caso em que os bits que constiturm o complemento para 2 do n umero entrado s ao reinseridos no registo de deslocamento por forma a que, no m do processo de convers ao, este contenha o complemento para 2 do n umero inicial. 19.8 Para simplicar o circuito controlado do exerc cio 19.6, eliminaram-se o contador de deslocamentos e o ip-op que for ca (ou n ao) a complementa ca o do bit proveniente do registo de deslocamento. Obteve-se, assim, o circuito da Figura 19.28. Redesenhar o uxograma da ASM de controlo.

19.4. EXERC ICIOS

391

SRG8 EN.SHIFT H SHIFT H/LOAD L CLOCK H DAT7 H DAT6 H DAT5 H DAT4 H DAT3 H DAT2 H DAT1 H DAT0 H COMP H
=1

G4 M2 M3 C1/3,4 1,2D

BIT.ACTUAL H

OUT H

Figura 19.28: Circuito controlado utilizado no Exerc cio 19.8

392

CAP ITULO 19. MAQUINAS DE ESTADOS

Indice Remissivo
1-em-10, ver C odigo 1-em-10 1-em-n, ver C odigos 1-em-n 74HC4024, ver Contador ass ncrono 74HC4024 74HCT244, ver Buer tri-state unidireccional 74HCT244 74HCT393, ver Contador ass ncrono 74HCT393 74LS161A, ver Contador s ncrono 74LS161A 74LS163A, ver Contador s ncrono 74LS163A 74LS192, ver Contador s ncrono 74LS192 74LS293, ver Contador ass ncrono 74LS293 74x42, ver Descodicador 74x42 74x138, ver Descodicador 74x138, ver Demultiplexer 74x138 74x139, ver Descodicador 74x139 74x151, ver Multiplexer 74x151 74x153, ver Multiplexer 74x153 74x155, ver Demultiplexer duplo 74x155 74x157, ver Multiplexer 74x157 74x169, ver Contador s ncrono 74x169 74x194, ver Registo de deslocamento universal 74x194 74x245, ver Buer tri-state 74x245 74x251, ver Multiplexer 74x251 74x283, ver Somador 74x283 (A), ver Depend encia de Endere co Actuador, 126 Adi c ao, 1215 BCD, 35 transporte na , ver Transporte na adi c ao Aditivo, 15, 191 Algarismo, ver D gito Algebra de Boole bin aria, 4152 Algorithmic State Machine, ver M aquina de estados Algoritmo da adi c ao, 12 da subtrac ca o, 15 de Karnaugh, 87 An alise dos circuitos digitais, 42 dos circuitos sequenciais s ncronos, 283287 Andar, 263 And-Or Invert, 67 AOI, ver And-Or Invert Aritm etica bin aria, 1219 Arredondamentos, 1012 ASM, ver M aquina de estados Axioma das comutatividades, 48 das distributividades, 48 das identidades, 48 do complemento, 48 Banco de registos, 364 Barramento, 270 de dados, 370 de uma RAM, 342 de uma ROM, 331 de endere cos, 370 de uma RAM, 342 de uma ROM, 331 de entrada de uma RAM, 342 de sa da de uma RAM, 342 Base 10, ver Base do sistema decimal b, ver Base de um sistema de numera ca o 2, ver Base do sistema bin ario 12, ver Base do sistema duodecimal 16, ver Base do sistema hexadecimal 60, ver Base do sistema sexagesimal arbitr aria, 3, 5 complexa, 3 de um sistema de numera c ao, 3 do sistema bin ario, 3, 5 do sistema decimal, 3 do sistema duodecimal, 3 do sistema hexadecimal, 3, 7 do sistema sexagesimal, 3 inteira negativa, 3 irracional, 3

393

394
n ao natural, 3 natural, 3 racional, 3 real, 3 Bit, 5 de sinal, 19, 21 mais signicativo, 21 Bloco de controlo comum, 239, 264 Buer de entrada, 347 de sa da, 347 tri-state 74x245, 275 bidireccional, 275 unidireccional, 274 unidireccional 74HCT244, 273 Buers, 127128 tri-state, 272275 (C), ver Depend encia de Controlo Campos, 370, 373 CBN, ver C odigo bin ario natural CBR, ver C odigo bin ario reectido C elulas de uma ROM, 331 Central Processing Unit, ver Unidade Central de Processamento Chip Select, 336 CI, ver Circuito integrado Ciclo de escrita, 348 controlado pelo CS , 349 controlado pelo W RIT E , 348 de leitura, 348 Circuito combinat orio, 145, 199, 245 controlado, 363 de controlo, 363 de dados, ver Circuito controlado de refrescamento, 342 integrado, 98 digital, 98 sequencial, 145, 199, 233, 240 sequencial s ncrono estado actual de um , ver Estado actual estado de um , ver Estado de um circuito s ncrono estado inicial de um , ver Estado inicial estado presente de um , ver Estado actual estado seguinte de um , ver Estado seguinte fun c ao de mem oria de um , ver Fun c ao de mem oria

INDICE REMISSIVO
l ogica de sa da num , ver L ogica de sa da l ogica do estado seguinte num , ver L ogica do estado seguinte Circuitos aritm eticos, 187196 de controlo e controlados, 363366 digitais, 41, 43 an alise dos , ver An alise dos circuitos digitais s ntese dos , ver S ntese dos circuitos digitais integrados CMOS, ver Fam lia CMOS ECL, ver Tecnologia ECL GaAs, ver Tecnologia GaAs IIL, ver Tecnologia IIL nMOS, ver Tecnologia nMOS pMOS, ver Tecnologia pMOS TTL, ver Fam lia TTL s ncronos e ass ncronos, 281282 sequenciais ass ncronos, 282 s ncronos, 282 sequenciais s ncronos, 281326 an alise dos , ver An alise dos circuitos sequenciais s ncronos codica c ao dos estados nos , ver Codica c ao dos estados concep ca o dos diagramas de estados dos , 289295 diagrama de estado dos , ver Diagrama de estados e uxogramas, 305313 equa c oes de excita c ao dos ip-ops nos , ver Equa co es de excita ca o dos ip-ops equa c oes de sa da nos , ver Equa c oes de sa da escolha dos ip-ops nos , ver Escolha dos ip-ops esquemas el ectricos dos , 296 logigramas dos , 296 modelos de Mealy e de Moore, 287288 modelos dos , 283 s ntese cl assica dos , ver S ntese cl assica s ntese com ip-ops D, ver S ntese cl assica com ip-ops D s ntese com ip-ops JK, ver S ntese cl assica com ip-ops JK s ntese com um ip-op por estado, ver S ntese com um ip-op por estado

INDICE REMISSIVO
s ntese dos , ver S ntese dos circuitos sequenciais s ncronos tabela de estados dos , ver Tabela de estados tabela de excita c oes dos , ver Tabela de excita c oes de um circuito s ncrono tabela de sa das dos , ver Tabela de sa das tabela de transi co es dos , ver Tabela de transi c oes vari aveis de estado dos , ver Vari aveis de estado Codica c ao dos estados, 284, 296 Codicador, 163 de prioridades, 163 Codicadores, 163 C odigo 1-em-10, 36 D + 3, ver C odigo Excesso de 3 ASCII, 3738 BCD, 3335, 196 adi c ao no , ver Adi c ao BCD algoritmo de correc c ao no , ver Correc c ao da adi ca o no c odigo BCD representa c ao dos n umeros no , 3335 transporte da adi c ao no , ver Transporte da adi ca o no c odigo BCD bin ario, 29 bin ario natural (CBN), 3031, 33 35, 39, 233 comprimento de uma palavra do , 30, 33, 34 opera co es aritm eticas no , 35 palavra do , 30, 33, 34 bin ario reectido (CBR), 3033 comprimento de uma palavra de um , 33 palavra de um , 31, 33 palavras adjacentes de um , ver Palavras adjacentes conceito de , 29 Excesso de 3, 151, 196, 261 ISO-8859-1, 38 ISO/IEC 10646 UCS-2, ver C odigo UCS-2 Isolatin-1, ver C odigo ISO-8859-1 num erico comprimento de uma palavra de um , ver Comprimento de uma palavra

395
palavra de um , ver Palavra redundante, 31 reectido, 39 regular, 30 UCS-2, 38 UNICODE, 38 val encia de um , ver Val encia C odigos, 2939 1-em-n, 36 alfanum ericos, 3738 decimais-bin arios, 34 m-em-n, 36 num ericos, 2931 Coment ario, 251 Comiss ao Electrot ecnica Internacional, 107 Complementa c ao, 42 de uma fun c ao, ver Complementa c ao de uma vari avel, ver Complementa c ao Complemento, ver Complementa c ao Complemento para 2 adi c ao em , 22 de um n umero, 20, 192 nota ca o de , ver Nota ca o de complemento para 2 overow na adi c ao em , ver Overow na adi c ao em complemento para 2 overow na subtrac c ao em , ver Overow na subtrac c ao em complemento para 2 representa c ao de um n umero em , 21 subtrac c ao em , 24 Comprimento de uma palavra, 29, 233 Comuta c ao nos ancos ascendentes, 218, 225 nos ancos descendentes, 218 Conjunto completo, 58, 65 {AND,OR,NOT}, 67 universal, ver Conjunto completo Constru ca o do CBR a partir do CBN, 33 Consumo de corrente de uma porta TTL, 99 Contador bin ario de 3 bits, 233 de Programa, 364 decimal, ver Divisor de frequ encia por 10 em anel, 279 auto-corrector, 279

396
estados de contagem de um , ver Estados de contagem m odulo 8, 235 m odulo 6 tabela de excita co es de um , ver Tabela de excita co es de um contador m odulo 6 s ncrono m odulo 6 tabela de transi c oes de um , ver Tabela de transi c oes de um contador s ncrono m odulo 6 sequ encia de contagem de um , ver Sequ encia de estados de contagem sequ encia de estados de um , ver Sequ encia de estados de contagem Contador ass ncrono, 235 74HC4024, 255 74HCT393, 255 74LS293, 238 linha de rel ogio de um , ver Linha de rel ogio de um contador ass ncrono Contador s ncrono 74LS161A, 249, 261 modo de carregamento em paralelo de um , ver Modo de carregamento em paralelo do contador 74LS161A modo de contagem de um , ver Modo de contagem do contador 74LS161A modo de Reset de um , ver Modo de Reset do contador 74LS161A modo M1 de um , ver Modo de carregamento em paralelo do contador 74LS161A modo M2 de um , ver Modo de contagem do contador 74LS161A modos de funcionamento do , ver Modos de funcionamento do contador 74LS161A pesos dos ip-ops no , ver Pesos dos ip-ops qualicador de entrada 1,5D num , ver Qualicador de entrada 1,5D qualicador de entrada 2,3,4+ num , ver Qualicador de entrada 2,3,4+ qualicador de entrada C5 num , ver Qualicador de entrada

INDICE REMISSIVO
C5 qualicador de entrada CT=0 num , ver Qualicador de entrada CT=0 qualicadores de entrada G3 e G4 num , ver Qualicador de entrada G3 e G4 valor inicial num , 250 74LS163A, 260 74LS192, 257 74x169, 261 entradas de carregamento em paralelo de um , ver Entradas de carregamento em paralelo linha de rel ogio de um , ver Linha de rel ogio de um contador s ncrono modo de carregamento em paralelo de um , ver Modo de carregamento em paralelo modo de contagem ascendente de um , ver Modo de contagem ascendente modo de manuten c ao do estado de um , ver Modo de manuten c ao do estado modo de Reset de um , ver Modo de Reset modos de funcionamento de um , ver Modos de funcionamento Contadores, 233261 ass ncronos, 233240 com m odulos arbitr arios, 238 diagramas temporais dos , 237 238 estados est aveis nos , ver Estados est aveis estados inst aveis nos , ver Estados inst aveis estados transit orios nos , ver Estados inst aveis s mbolos IEC dos , 238240 interliga ca o de , ver Interliga c ao de contadores s mbolos dos , 249251 s ncronos, 240249 ascendentes/descendentes, ver Contadores s ncronos bidireccionais bidireccionais, 246 com carregamento em paralelo, 247249 com Enable, 243 com entrada de Modo, ver Contadores s ncronos com Enable com m odulo qualquer, 243246

INDICE REMISSIVO
com v arios modos de funcionamento, 246 concep ca o heur stica dos , 240 242 up/down, ver Contadores s ncronos bidireccionais Contagem, 383 Contexto alg ebrico, 112 f sico, 112 Controlo microprogramado, ver Microprograma c ao por ROM, 367386 com endere camento expl cito, ver Endere camento expl cito com endere camento impl cito, ver Endere camento impl cito estrutura b asica de , 369373 Converg encia, 304, 313 Convers ao da base 10 para as bases 2 e 16, 79 da base 16 para a base 2, 910 da base 2 para a base 16, 9 entre bases, 712 Conversor de polaridade, 119 Correc c ao da adi c ao no c odigo BCD, 35 de erros, 31 CPU, ver Unidade Central de Processamento, ver Unidade Central de Processamento CS tempo de dura ca o do , ver Tempo de dura c ao do CS D + 3, ver C odigo Excesso de 3 D ecada, ver Divisor de frequ encia por 10 Demultiplexer, 175 74x138, 178 74x155, 178 analogia mec anica, 175 entrada de dados de um , ver Entrada de dados de um demultiplexer entradas de controlo de um , ver Entradas de selec c ao de um demultiplexer entradas de selec c ao de um , ver Entradas de selec c ao de um demultiplexer sa das de um , ver Sa das de um demultiplexer Demultiplexers, 175179 Depend encia And (G), 170, 239, 250

397
de Controlo (C), 207, 221, 250 de Enable (EN), 160 de Endere co (A), 336 Reset (R), 205 Set (S), 205 Descodica c ao coincidente, 334 Descodicador, 157 74x42, 166 74x138, 165 74x139, 183 BCD, 159 bin ario, 157 pesos das entradas num , 158 sa da activa num , 158 de coluna, 334 de endere cos, 336 de linha, 334 Descodicadores, 157163 Detec ca o de erros, 31 Detector da sequ encia 0101, 289 Diagrama de estados, 279, 284, 295, 363, 366 temporal, 106, 199, 201, 207, 211, 212, 214, 221, 225, 228, 229 Diagramas de estados concep ca o dos , 289295 modelo de Mealy, 293295 modelo de Moore, 290293 D gito, 3 Divis oes sucessivas, ver M etodo das divis oes sucessivas Divisor de frequ encia, 239, 249 por 10, 253, 257, 258 por 2, 239 por 8, 239 DRAM, ver Mem orias RAM din amicas Dual in-line package, 104 E2 PROM, ver EEPROM EEPROM, 330 Electrically Erasable PROM, ver EEPROM (EN), ver Depend encia de Enable Endere camento expl cito, 373382 impl cito, 382386 contagem no , ver Contagem salto condicionado no , ver Transi c ao condicionada salto incondicional no , ver Transi c ao incondicional transi ca o condicionada no , ver Transi c ao condicionada

398
transi ca o incondicional no , ver Transi c ao incondicional Endere co, 331 tempo de acesso a partir do , ver Tempo de acesso a partir do endere co Entrada activa a H, 113 a L, 113 ass ncrona de Reset (Clear), 222, 227 de Set (Preset), 222, 227 de dados de um demultiplexer, 176 de Enable, 171 de Modo num registo, 265 de rel ogio, 217, 233, 236, 240 Entradas ass ncronas num ip-op, 222 ass ncronas num latch SR, 208 de carregamento em paralelo, 248 de controlo de um demultiplexer, ver Entradas de selec c ao de um demultiplexer de um multiplexer, ver Entradas de selec ca o de um multiplexer de dados de um multiplexer, 169 de selec c ao de um demultiplexer, 175 de um multiplexer, 169 directas num ip-op, ver Entradas ass ncronas num ip-op directas num latch SR, ver Entradas ass ncronas num latch SR s ncronas, 222 EPROM, 330 Equa c oes de excita c ao, 244, 284 de excita c ao dos ip-ops, 296 de sa da, 284, 296 Equivalente decimal, 4, 5, 7, 30, 31, 34 Erasable PROM, ver EPROM Escolha dos ip-ops, 296 Escrita ciclo de , ver Ciclo de escrita na RAM, 342 numa palavra da RAM, ver Escrita na RAM numa RAM est atica, 348349 Espa co de endere camento, 336 Esquema el ectrico, 43, 107, 120

INDICE REMISSIVO
Estado actual, 244, 283 de um circuito s ncrono, 283 inicial, 207, 290 presente, ver Estado actual seguinte, 244, 283 Estados de contagem, 233 est aveis, 237, 251 inst aveis, 237, 251252 transit orios, ver Estados inst aveis Estrutura de uma RAM est atica, 344348 de uma ROM, 331332 em arvore, 174 Excesso de 3, ver C odigo Excesso de 3 Expans ao de ROMs, 339341 Express ao booleana, 43, 53 l ogica, ver Express ao booleana Express oes m nimas, 70 simplicadas, 69 Fall time, ver Tempo de decrescimento Fam lia CMOS, 99, 103 tens oes de alimenta ca o da , 103 TTL, 98, 99103 sa das totem-pole na , 101103 sa das tri-state na , 101103 sub-fam lias da , ver Sub-fam lias TTL temperaturas de funcionamento da , 99 tens oes de alimenta c ao da , 99 Fan-out, 104 Flanco, 96 activo, 233, 240242, 250 ascendente, 97, 218, 235, 248, 250 de comuta c ao, 219, 225, ver Flanco activo, 236, 248 de rel ogio, 235, 240, 248 descendente, 96, 218, 233, 235 Flash ROMs, ver Mem orias Flash Flip-op, 217 edge-triggered, 224 74LS76A, 251 com estrutura master-slave, 218 D edge-triggered, 224 funcionamento de um , 224 modo de c opia de um , ver Modo de c opia de um ip-op D edge-triggered

INDICE REMISSIVO
modo de manuten ca o de um , ver Modo de manuten c ao de um ip-op D edge-triggered modos de funcionamento de um , ver Modos de funcionamento de um ip-op D edge-triggered s mbolo IEC de um , 226 tabela de verdade f sica de um , 225 D master-slave, 223 s mbolo IEC de um , 223 entrada ass ncrona de Reset, 222, 227 entrada ass ncrona de Set, 222, 227 entrada de rel ogio de um , ver Entrada de rel ogio entradas ass ncronas num , ver Entradas ass ncronas num ip-op entradas directas num , ver Entradas ass ncronas num ip-op entradas s ncronas num , 222 anco de comuta c ao de um , 218 hold time de um , 228 JK, 233, 235, 244, 248 tabela de excita co es de um , ver Tabela de excita co es de um ip-op JK JK edge-triggered, 240 modo de comuta ca o de um , ver Modo de manuten c ao de um ip-op JK edge-triggered modo de manuten ca o de um , ver Modo de manuten ca o de um ip-op JK edge-triggered modo de Reset de um , ver Modo de Reset de um ip-op JK edge-triggered s mbolo IEC de um , 226 JK master-slave, 219 funcionamento de um , 220 modo de comuta ca o de um , ver Modo de manuten c ao de um ip-op JK master-slave modo de manuten ca o de um , ver Modo de manuten c ao de um ip-op JK master-slave modo de Reset de um , ver Modo de Reset de um ip-op JK master-slave modo de Set de um , ver Modo de Set de um ip-op JK master-slave s mbolo IEC de um , 221

399
tabela de verdade f sica de um , 219 que comuta nos ancos ascendentes, 218, 225 que comuta nos ancos descendentes, 218 set-up time de um , 228 SR master-slave, 218 funcionamento de um , 217 modo de manuten ca o de um , ver Modo de manuten c ao de um ip-op SR master-slave modo de Reset de um , ver Modo de Reset de um ip-op SR master-slave modo de Set de um , ver Modo de Set de um ip-op SR master-slave modos de funcionamento de um , ver Modos de funcionamento de um ip-op SR master-slave tabela de verdade f sica de um , 218 T, 235236 T edge-triggered modo de comuta ca o de um , ver Modo de manuten c ao de um ip-op T edge-triggered modo de manuten ca o de um , ver Modo de manuten c ao de um ip-op T edge-triggered modos de funcionamento de um , ver Modos de funcionamento de um ip-op T edge-triggered s mbolo IEC de um , 236 tabela de verdade f sica de um , 229 tempo de atraso de um , ver Tempo de propaga c ao de um ip-op tempo de manuten c ao de um , 228 tempo de prepara ca o de um , 228 tempo de propaga ca o de um , ver Tempo de propaga ca o de um ip-op tempo de propaga c ao m aximo de um , ver Tempo de propaga c ao m aximo tempo de propaga c ao t pico de um , ver Tempo de propaga ca o t pico Flip-ops, 217232 Edge-triggered, 224227 Master-slave, 217224 temporiza c oes nos , 227228

400
Fluxograma, 305 sa da condicionada num , ver Sa da de Mealy sa da de Mealy num , ver Sa da de Mealy sa da de Moore num , ver Sa da de Moore sa da incondicional num , ver Sa da de Moore Fluxogramas e m aquinas de estados, 364, 366 367 na especica c ao das m aquinas de estados, 364 no desenvolvimento das m aquinas de estados, 364 Fork, ver Transi c ao condicionada Forma can onica conjuntiva, 61 disjuntiva, 60 normal conjuntiva, 53, 123 disjuntiva, 53, 122 Fun c ao activa, 126 activa a H, 126 activa aL , 126 AND com mais de 2 vari aveis, 47 de 2 vari aveis, 45 booleana simples complementa ca o de uma , ver Complementa c ao complemento de uma , ver Complementa ca o conte udo sem antico de uma , 124 nega c ao de uma , ver Complementa c ao tabela de verdade de uma , ver Tabela de verdade tabela de verdade l ogica de uma , ver Tabela de verdade complementa ca o, 42, 45, 62 constante 0, 43, 46 constante 1, 43, 46 de mem oria, 283 de selec c ao de uma entrada, 169 de selec c ao de uma sa da, 175 Equival encia, 46 identidade de 1 vari avel, 42 de 2 vari aveis, 46 implica c ao, 76

INDICE REMISSIVO
NAND com mais de 2 vari aveis, 47 de 2 vari aveis, 46 nega c ao, ver Fun c ao complementa ca o NOR com mais de 2 vari aveis, 47 de 2 vari aveis, 46 NOT, ver Fun c ao complementa c ao OR com mais de 2 vari aveis, 47 de 2 vari aveis, 46 OU-exclusivo, 46 produto l ogico de 2 vari aveis, 62 soma l ogica de 2 vari aveis, 62 Funcionamento de uma MROM, 332334 Fun c oes booleanas, 4142 booleanas gerais, 42 booleanas simples, 42 com duas vari aveis booleanas simples, 4446 com mais do que duas vari aveis booleanas simples, 47 com uma vari avel booleana simples, 4244 minimiza c ao com indiferen cas, ver Minimiza c ao com indiferen cas minimiza c ao das , ver Minimiza ca o das fun c oes booleanas simples minimiza c ao usando o m etodo de Karnaugh, ver M etodo de Karnaugh minimiza c ao usando os maxtermos, ver Minimiza c ao usando os maxtermos simplica c ao alg ebrica das , ver Simplica c ao alg ebrica completamente especicadas, 82 completas, ver Fun c oes completamente especicadas conte udo sem antico das , 124 128 incompletamente especicadas, 82 incompletas, ver Fun c oes incompletamente especicadas l ogicas, ver Fun c oes booleanas (G), ver Depend encia And Gerador de mintermos, 161 H, ver N vel H Hi-Z, ver Sa da em alta imped ancia

INDICE REMISSIVO
Hold time, ver Tempo de manuten c ao Implicado, 84 primo, 84 essencial, 85 Implicante, 76 primo, 77 essencial, 78 Implicantes, 7679 primos, 7679 Impulso de rel ogio, 217, 219, 233, 235, 238, 240, 244, 250, 251 Indicador de polaridade, 108, 120, 138 Indiferen ca, 80 Indu c ao completa, 51 Interliga c ao de contadores, 252 com carregamento em paralelo, 253 Interliga c ao de registos, 270 com multiplexers, 270271 utilizando barramentos tri-state, 276 Inversor, ver Porta NOT Inversores, 127128 ISO-8859-1, ver C odigo ISO-8859-1 Isolatin-1, ver C odigo Isolatin-1 Join, ver Converg encia L, ver N vel L Latch, 202 ass ncrono, 205 controlado, 205 D controlado, 209 funcionamento transparente de um , 209 modo de c opia de um , ver Modo de c opia de um latch D controlado modo de manuten ca o de um , ver Modo de manuten c ao de um latch D controlado modos de funcionamento de um , ver Modos de funcionamento de um latch D controlado s mbolo IEC de um , 210 estados de um , 202 JK controlado, 213 SR, 202 funcionamento de um , 203 modo de manuten ca o de um , ver Modo de manuten c ao de um latch SR modo de Reset de um , ver Modo de Reset de um latch SR

401
modo de Set de um , ver Modo de Set de um latch SR modos de funcionamento de um , ver Modos de funcionamento de um latch SR sa das for cadas a LL num , 203 SR controlado, 205 com entradas de Preset e de Clear, 208 diagrama temporal de funcionamento de um , 207 entradas ass ncronas num , ver Entradas ass ncronas num latch SR entradas directas num , ver Entradas ass ncronas num latch SR funcionamento de um , 206 modo de funcionamento de um , ver Modo de funcionamento de um latch SR controlado modo de manuten ca o de um , ver Modo de manuten c ao de um latch SR controlado modo de Reset de um , ver Modo de Reset de um latch SR controlado modo de Set de um , ver Modo de Set de um latch SR controlado s mbolo IEC de um , 207 sa das for cadas a HH num , 206 SR sincronizado, ver Latch SR controlado S R, 204 funcionamento de um , 204 modo de manuten ca o de um , ver Modo de manuten c ao de um latch S R modo de Reset de um , ver Modo de Reset de um latch SR modo de Set de um , ver Modo de Set de um latch S R s mbolo IEC de um , 205 sa das for cadas a HH num , 204 SRT, ver Latch SR controlado Latches controlados, 205210 simples, 199205 Leis de De Morgan, 50 Leitura ciclo de , ver Ciclo de leitura

402
da RAM, 342 da ROM, 331 de uma palavra da RAM, ver Leitura da RAM de uma palavra da ROM, ver Leitura da ROM de uma RAM est atica, 348349 de uma ROM, 336339 Linha de rel ogio, 233 de um contador, 240 de um contador ass ncrono, 233 de um contador s ncrono, 240 Linhas adjacentes, 72 Literal, 49, 59 L ogica de polaridade, 64, 107142 e express oes booleanas, 129136 e logigramas, 129136 esquemas el ectricos na , 120 123 exemplo de utiliza c ao da , 136 138 express oes booleanas e logigramas na , 131136 gera ca o dos logigramas na , 129 131 logigramas na , 120123 portas l ogicas na , 113114 raz ao da , 109110 de sa da, 283, 369 do estado seguinte, 283, 369 negativa, 107123 positiva, 107123 Logigrama, 43, 62, 107, 120 Mapa de Karnaugh, ver Quadro de Karnaugh M aquina algor tmica, ver M aquina de estados de estados, 363, 364, 366, 367, 369, 370, 373, 374, 379 diagrama de blocos de uma , 375, 378, 386 entradas externas de uma , 369 uxograma de uma , 384 sa das actuais de uma , 381 sa das externas de uma , 370 de Mealy, 370 de Moore, 375 incompleta, ver M aquina incompletamente especicada incompletamente especicada, 326 sequencial, 285

INDICE REMISSIVO
tabela de estados de uma , ver Tabela de estados e de sa da sequencial s ncrona, 363 incompleta, ver M aquina incompletamente especicada incompletamente especicada, ver M aquina incompletamente especicada M aquinas de estados, 363390 e uxogramas, 364, 366367 Margem de ru do, 101 Mask-Programmed ROM, ver ROM Maxtermo, 61 m-em-n, ver C odigos m-em-n Mem oria Central, 364 elementar, 200 ROM Chip Select de uma , 336 Output Enable de uma , 336 tempo de acesso a partir do CS numa , ver Tempo de acesso a partir do CS tempo de acesso a partir do endere co numa , ver Tempo de acesso a partir do endere co tempo de Output Disable de uma , ver Tempo de Output Disable tempo de Output Enable de uma , ver Tempo de Output Enable SRAM tempo de dura c ao do CS numa , ver Tempo de dura c ao do CS tempo de dura c ao do W RIT E numa , ver Tempo de dura c ao do W RIT E tempo de hold do dado numa , ver Tempo de manuten c ao do dado tempo de hold do endere co numa , ver Tempo de manuten c ao do endere co tempo de manuten c ao do dado numa , ver Tempo de manuten c ao do dado tempo de manuten ca o do endere co numa , ver Tempo de manuten c ao do endere co tempo de prepara ca o do dado numa , ver Tempo de prepara c ao do dado

INDICE REMISSIVO

403

de contagem ascendente, 248 tempo de prepara ca o do endere co numa , ver Tempo de prepara c ao de deslocamento para a direita do endere co de um registo de deslocamento tempo de set-up do dado numa universal, 269 , ver Tempo de prepara c ao de deslocamento para a esquerda do dado de um registo de deslocamento tempo de set-up do endere co numa universal, 269 , ver Tempo de prepara c ao de funcionamento do endere co de um latch SR controlado, 206 Mem oria de leitura, ver ROM de manuten c ao Mem oria de leitura/escrita, ver RAM de um ip-op JK master-slave, Mem oria s erie, 329 220 Mem orias, 329350 de um ip-op SR master-slave, din amicas, ver Mem orias RAM din amicas 218 est aticas, ver Mem orias RAM est aticas de um ip-op D edge-triggered, Flash, 330 225 RAM de um ip-op JK edge-triggered, din amicas, 341 244 est aticas, 341 de um ip-op T edge-triggered, 236 ROM, 330341 M etodo de um latch D controlado, 210 das divis oes sucessivas, 8 de um latch SR, 203 das multiplica c oes sucessivas, 8 de um latch SR controlado, 206 de Karnaugh, 6992 de um latch S R, 204 Microprocessadores de um registo, 265 RISC, 369 de um registo de deslocamento Microprograma c ao, 369 universal, 269 de manuten c ao do estado, 249 Minimiza c ao de Reset, 249 com indiferen cas, 7982 das fun c oes booleanas simples, 42, de um ip-op JK master-slave, 220 70 de um ip-op SR master-slave, usando os maxtermos, 8487 219 Mintermo, 59 de um ip-op JK edge-triggered, Modelo 244 de Mealy, 287 de um latch SR, 203 de Moore, 288 de um latch SR controlado, 206 Modo de um latch S R, 204 de c opia do contador 74LS161A, 250 de um ip-op D edge-triggered, 225 de Set de um latch D controlado, 210 de um ip-op JK master-slave, 220 de carregamento em paralelo, 248 de um ip-op SR master-slave, de um registo, 265 219 de um registo de deslocamento de um latch SR, 203 universal, 269 de um latch SR controlado, 206 do contador 74LS161A, 250 de um latch S R, 204 de comuta ca o M1 do contador 74LS161A, ver Modo de um ip-op JK edge-triggered, de carregamento em paralelo 233 do contador 74LS161A de um ip-op JK master-slave, M2 do contador 74LS161A, ver Modo 220 de contagem do contador 74LS161A de um ip-op T edge-triggered, Modos de funcionamento 236 de um ip-op JK master-slave, 220 de contagem de um ip-op SR master-slave, 218 do contador 74LS161A, 250

404
de um contador s ncrono, 248 de um ip-op D edge-triggered, 225 de um ip-op T edge-triggered, 236 de um latch D controlado, 210 de um latch SR, 203 de um latch S R, 204 de um registo, 265 de um registo universal, 269 do contador 74LS161A, 249 MROM, ver ROM Multiplexagem temporal, 103 Multiplexer 74x151, 172 74x153, 173 74x157, 173 74x251, 183 analogia mec anica, 169 entrada de Enable num , ver Entrada de Enable entradas de controlo de um , ver Entradas de selec c ao de um multiplexer entradas de dados de um , ver Entradas de dados de um multiplexer entradas de selec c ao de um , ver Entradas de selec c ao de um multiplexer sa da de dados de um , ver Sa da de dados de um multiplexer Multiplexers, 169175 expans ao de , 174175 s mbolos dos , 172173 Multiplica c ao, 1619 Multiplica c oes sucessivas, ver M etodo das multiplica c oes sucessivas Nega c ao, ver Porta NOT de uma fun c ao, ver Complementa c ao de uma vari avel, ver Complementa c ao N veis de tens ao H e L, 112 N vel alto, ver N vel H baixo, ver N vel L de actividade, 113 de tens ao, 97 H, 64, 97 HIGH, ver N vel H L, 97 LOW, ver N vel L Norma IEC 60617-12, 43, 107, 205, 210 entrada de dados na , 210

INDICE REMISSIVO
IEC 61082, 108 IEC 61082-1, 63 Normas IEC, 107 Nota ca o de complemento para 2, 1925, 192 de sinal e m odulo, 19 N umeros com sinal, 1925 sem sinal, 3 Ones catching, 221 Opera c ao de escrita, 329 de leitura, 329 Operador AND, 46 constante 0, 43 constante 1, 43 identidade, 43 NAND, 46 NOR, 46 NOT, 43 OR, 46 XNOR, 46 XOR, 46 Output Enable, 336 Overow na adi c ao em complemento para 2, 23, 192 na subtrac ca o em complemento para 2, 25 Palavra, 29 comprimento de uma , ver Comprimento de uma palavra de ROM campos de uma , ver Campos de uma ROM, 331 Palavras adjacentes, 31 Peso, 3 Pesos dos ip-ops, 251 Pinos, 104 PIPO (Parallel-In, Parallel-Out), 267 PISO (Parallel-In, Serial-Out), 267 PLA, 354, 359 PLD, 351 entradas de dados de um , 354 sa das de dados de um , 354 Porta AND, 62 inversora, ver Porta NOT l ogica, 43, 62 NAND, 63 NOR, 64 NOT, 43, 62, 64, 119 OR, 62

INDICE REMISSIVO
tri-state, 101 TTL com sa da em alta imped ancia, ver Sa da em alta imped ancia com sa da totem-pole, 101 com sa da tri-state, ver Portas tri-state consumo de corrente de uma , ver Consumo de corrente de uma porta TTL de atraso de uma , ver Tempo de propaga c ao de uma porta TTL de propaga ca o de uma , ver Tempo de propaga c ao de uma porta TTL Portas AND s mbolo IEC das , 113 tabela de verdade gen erica das , ver Tabela de verdade gen erica das portas AND AND com 2 entradas tabela de verdade gen erica das , ver Tabela de verdade gen erica das portas AND com 2 entradas Buer tabela de verdade gen erica das , ver Tabela de verdade gen erica dos Buers de transmiss ao, 120 OR tabela de verdade gen erica das , ver Tabela de verdade gen erica das portas OR XOR com 2 entradas tabela de verdade gen erica das , ver Tabela de verdade gen erica das portas XOR com 2 entradas Preced encias, 48 Primeira forma can onica, ver Forma can onica disjuntiva Princ pio da dualidade, 49 Processadores CISC, 369 RISC, ver Microprocessadores RISC Produto de implicados primos, 84 de maxtermos, 61 de somas, 53, 123 l ogico, 48 Programador de PROMs, 330 Programmable Logic Array, ver PLA, ver PLA

405
Programmable Logic Device, ver PLD Programmable ROM, ver PROM Projecto bottom-up, 151 top-down, 151 PROM, 330 programador de , ver Programador de PROMs Propagation delay time, ver Tempo de propaga c ao de uma porta Quadrado essencial, 78 Quadrados adjacentes, 72 Quadro de Karnaugh, 72 adjac encias num , 7074 com 3 vari aveis, 72 com 4 vari aveis, 7476 com 5 vari aveis, 8284 Qualicador de entrada +, 239 , 226, 250 , 108, 226, 250 1,5D, 250 1J, 221 1K, 221 2,3,4+, 250 C1, 207, 221 C5, 250 CT=0, 250 D, 210 G3, 250 G4, 250 R, 205, 208, 222, 264 S, 205, 208, 222 1, 239 Am, 336 CI, 190 CT=m, 239 G1, 239 Pi, 190 Qi, 190 de sa da , 108 , 221 3CT=15, 251 , 102 A, 336 CO, 190 CTm, 239 [i], 336 i, 190 geral, 108, 205 1, 108 = 1, 108 BCD/1-OF-10, 159

406
BCD/DEC, 159 BIN/1-OF-8, 157 BIN/OCT, 157 CTRDIV16, 249 DMUX, 178 DX, ver Qualicador geral DMUX MUX, 172 &, 108 , 273, 275 1, 108 RCTR, 239 ROM *, 334 , 190 Quantidades booleanas gerais, 41 booleanas simples, 41 (R), ver Depend encia Reset RAM, 329 escrita na , ver Escrita na RAM escrita numa palavra da , ver Escrita na RAM est atica barramento de dados de uma , ver Barramento de dados de uma RAM barramento de endere cos de uma , ver Barramento de endere cos de uma RAm barramento de entrada de uma , ver Barramento de entrada de uma RAM barramento de sa da de uma , ver Barramento de sa da de uma RAM ciclo de escrita controlado pelo CS numa , ver Ciclo de escrita controlado pelo CS ciclo de escrita controlado pelo W RIT E numa , ver Ciclo de escrita controlado pelo W RIT E ciclo de escrita numa , ver Ciclo de escrita ciclo de leitura de uma , ver Ciclo de leitura escrita numa , ver Escrita numa RAM est atica estrutura de uma , ver Estrutura de uma RAM est atica leitura de uma , ver Leitura de uma RAM est atica leitura da , ver Leitura da RAM leitura de uma palavra da , ver Leitura da RAM tipos de , ver Tipos de RAM RAMs

INDICE REMISSIVO
s mbolos das , ver S mbolos das RAMs Random Access Memory, ver RAM Read Only Memory, ver ROM Register File, ver Banco de registos Registo conceito de , 263 de deslocamento universal, 269 74x194, 269, 279 modo de carregamento em paralelo de um , ver Modo de carregamento em paralelo de um registo de deslocamento universal modo de deslocamento para a direita de um , ver Modo de deslocamento para a direita de um registo de deslocamento universal modo de deslocamento para a esquerda de um , ver Modo de deslocamento para a esquerda de um registo de deslocamento universal modo de manuten ca o de um , ver Modo de manuten ca o de um registo de deslocamento universal entrada de Modo de um , ver Entrada de Modo num registo modo de carregamento em paralelo de um , ver Modo de carregamento em paralelo de um registo modo de manuten c ao de um , ver Modo de manuten c ao de um registo modos de funcionamento de um , ver Modos de funcionamento de um registo, ver Modos de funcionamento de um registo PIPO, ver PIPO (Parallel-In, Parallel-Out) PISO, ver PISO (Parallel-In, Serial-Out) simples andar de um , ver Andar s mbolo IEC de um , 264 SIPO, ver SIPO (Serial-In, Parallel-Out) SISO, ver SISO (Serial-In, Serial-Out) Registos, 263276 com Enable, 265 de deslocamento, 266268

INDICE REMISSIVO
interliga ca o de , ver Interliga c ao de registos multimodo, 268270 simples, 263265 transfer encia entre , ver Transfer encia entre registos Representa c ao alg ebrica, 53 de um n umero em complemento para 2, 21 em m odulo e sinal, 19 na base 16, 7 na base 2, 56 Rise time, ver Tempo de crescimento ROM, 331 barramento de dados de uma , ver Barramento de dados de uma ROM barramento de endere cos de uma , ver Barramento de endere cos de uma ROM bits de dados por palavra de uma , 331 c elulas de uma , ver C elulas de uma ROM de 2n por p (2n p), 331 estrutura de uma , ver Estrutura de uma ROM funcionamento de uma , ver Funcionamento de uma MROM leitura da , ver Leitura da ROM leitura de uma palavra da , ver Leitura da ROM palavra de uma , 331 tipos de , ver Tipos de ROMs utiliza c ao das , ver Utiliza c ao das ROMs ROMs leitura de uma , ver Leitura de uma ROM s mbolos das , ver S mbolos das ROMs ROMss expans ao de , ver Expans ao de ROMs (S), ver Depend encia Set Sa da activa a H, 113 a L, 113 condicionada, ver Sa da de Mealy de dados de um multiplexer, 169 de Mealy, 304, 313 de Moore, 304, 313

407
em alta imped ancia, 102 incondicional, ver Sa da de Moore totem-pole, 101 tri-state, 101 Sa das de um demultiplexer, 175 Salto condicional, ver Transi c ao condicionada incondicional, ver Transi c ao incondicional Segunda forma can onica, ver Forma can onica conjuntiva Semi-somador, 188 Sensor, 124 Sequ encia de contagem, ver Sequ encia de estados de contagem de estados, ver Sequ encia de estados de contagem de estados de contagem, 233 Set-up time, ver Tempo de prepara c ao S mbolo composto, 159 S mbolo IEC das portas AND, 113 de atraso, 221 de um ip-op D edge-triggered, 226 de um ip-op D master-slave, 223 de um ip-op JK edge-triggered, 226 de um ip-op JK master-slave, 221 de um ip-op T edge-triggered, 236 de um descodicador BCD, 159 de um descodicador bin ario de 3 bits, 159 de um latch D controlado, 210 de um latch SR controlado, 207 de um latch SR controlado com entradas de Preset e de Clear, 208 de um latch S R, 205 de um multiplexer, 169, 171 de um registo simples, 264 de uma porta AND com 2 entradas, 46 com 3 entradas, 47 de uma porta NAND com 2 entradas, 46 com 3 entradas, 47 com 5 entradas, 63 de uma porta NOR com 2 entradas, 46 com 3 entradas, 47

408
com 4 entradas, 64 de uma porta NOT, 44 de uma porta OR com 2 entradas, 46 com 3 entradas, 47 de uma porta XNOR com 2 entradas, 46 de uma porta XOR com 2 entradas, 46 do 74HC4024, 255 do 74HCT244, 273 do 74HCT393, 255 do 74LS161A, 249 do 74LS163A, 260 do 74LS192, 257 do 74LS293, 238 do 74x138, 165, 178 do 74x139, 183 do 74x151, 172 do 74x153, 173 do 74x155, 178 do 74x157, 173 do 74x169, 261 do 74x194, 269 do 74x245, 275 do 74x251, 183 do 74x283, 190 do 74x42, 166 S mbolos alternativos, 108 das RAMs, 342343 das ROMs, 334336 dos circuitos digitais, 107108 IEC, ver S mbolos dos circuitos digitais Simplica c ao alg ebrica, 69 Sinais bin arios, 9697 Sinal anal ogico, 96 bin ario ideal, 96 real, 96 Sinal e m odulo nota ca o de , 19 S ntese cl assica, 295296 com ip-ops D, 297299 com ip-ops JK, 300 com um ip-op por estado, 301 305 converg encia numa , ver Converg encia sa da de Mealy numa , ver Sa da de Mealy

INDICE REMISSIVO
sa da de Moore numa , ver Sa da de Moore transi ca o condicionada numa , ver Transi c ao condicionada transi ca o incondicional numa , ver Transi c ao incondicional de um contador, 243, 246 dos circuitos digitais, 42 dos circuitos sequenciais s ncronos, 240, 243, 246, 288289 SIPO (Serial-In, Parallel-Out), 267 SISO (Serial-In, Serial-Out), 267 Sistema bin ario, 3, 5 base do , ver Base do sistema bin ario de numera ca o, 3 base de um , ver Base de um sistema de numera c ao bin ario, ver Sistema bin ario decimal, ver Sistema decimal duodecimal, ver Sistema duodecimal hexadecimal, ver Sistema hexadecimal ponderado, ver Sistema posicional posicional, ver Sistema posicional romano, 3 sexagesimal, ver Sistema sexagesimal decimal, 3 base do , ver Base do sistema decimal duodecimal, 3 base do , ver Base do sistema duodecimal hexadecimal, 3, 7 base do , ver Base do sistema hexadecimal n ao posicional, 3 ponderado, ver Sistema posicional posicional, 3 d gito num , ver D gito peso de um d gito num , ver Peso sexagesimal, 3 base do , ver Base do sistema sexagesimal Sistemas de numera ca o, 327 arredondamentos num , ver Arredondamentos convers ao da base 16 para a base 2, ver Convers ao da base 16 para a base 2

INDICE REMISSIVO
convers ao da base 2 para a base 16, ver Convers ao da base 2 para a base 16 convers ao entre a base 10 e as bases 2 e 16, ver Convers ao da base 10 para as bases 2 e 16 convers ao entre bases, ver Convers ao entre bases posicionais, 37 representa c ao na base 16, ver Representa c ao na base 16 representa c ao na base 2, ver Representa c ao na base 2 truncagens num , ver Truncagens digitais, 41, 43 Soma de implicantes primos, 77 de mintermos, 60 de produtos, 53, 122 l ogica, 48 Somador 74x283, 190, 196 completo, 188 de dois d gitos BCD, 195 iterativo de 4 bits, 189 de n bits, 189 Somador/subtractor, 192 Somadores BCD, 193195 bin arios, 187190 em complemento para 2, 192 SRAM, ver Mem orias RAM est aticas ciclo de escrita controlado pelo CS numa , ver Ciclo de escrita controlado pelo CS ciclo de escrita controlado pelo W RIT E numa , ver Ciclo de escrita controlado pelo W RIT E ciclo de escrita numa , ver Ciclo de escrita ciclo de leitura de uma , ver Ciclo de leitura escrita numa , ver Escrita numa RAM est atica estrutura de uma , 345 leitura de uma , ver Leitura de uma RAM est atica opera ca o de escrita numa , 346 opera ca o de leitura de uma , 346 Subtrac ca o, 1516 transporte na , ver Transporte na subtrac ca o Subtractivo, 15, 191 Subtractor completo, 190 iterativo de n bits, 190 Subtractores bin arios, 190191 em complemento para 2, 192 Sub-fam lias CMOS, 103 l ogicas, 98 TTL, 99

409

tAA , ver Tempo de acesso a partir do endere co Tabela de estados, 245, ver Tabela de estados e de sa da, 296, 363 de estados e de sa da, 284 de excita c oes de um ip-op JK, 245 de um circuito s ncrono, 296 de um contador m odulo 6, 245 dos ip-ops, 296 de excita c oes de um circuito sequencial, 284 de sa das, 296 de transi co es, 246, 296 de um contador s ncrono m odulo 6, 244 estado actual numa , ver Estado actual estado presente numa , ver Estado actual estado seguinte numa , ver Estado seguinte de transi co es e de sa das, 284 de verdade, 42, 54, 110 de verdade f sica, 110113, 203 de um ip-op D edge-triggered, 225 de um ip-op JK master-slave, 219 de um ip-op SR master-slave, 218 de um ip-op T edge-triggered, 229 de verdade gen erica, 114120 das portas AND, 117 das portas AND com 2 entradas, 114 das portas OR, 117 das portas XOR com 2 entradas, 138 dos Buers, 118 de verdade l ogica, ver Tabela de verdade

410
tACS , ver Tempo de acesso a partir do CS tAH , ver Tempo de manuten c ao do endere co c ao do entAS , ver Tempo de prepara dere co ca o do CS tCSW , ver Tempo de dura c ao do dado tDH , ver Tempo de manuten ca o do dado tDS , ver Tempo de prepara Tecnologia CMOS, 99 ECL, 99 GaAs, 99 IIL, 99 nMOS, 99 pMOS, 99 TTL, 98 Tempo de acesso a partir do CS , 338 a partir do endere co , 337 de atraso, 105 de um ip-op, ver Tempo de propaga c ao de um ip-op de uma porta TTL, ver Tempo de propaga c ao de uma porta TTL de crescimento, 97 de decrescimento, 97 de dura c ao do CS , 349 do W RIT E , 349 de hold do dado, ver Tempo de manuten c ao do dado do endere co, ver Tempo de manuten c ao do endere co de manuten c ao, 228 do dado, 349 do endere co, 349 de Output Disable, 338 de Output Enable, 338 de prepara c ao, 228 do dado, 349 do endere co, 349 de propaga c ao, 105 de L para H, 105 de um ip-op, 227 de uma porta, 106 de uma porta TTL, 99 m aximo, 251 t pico, 251 de set-up do dado, ver Tempo de prepara ca o do dado

INDICE REMISSIVO
do endere co , ver Tempo de prepara ca o do endere co Teorema da absor ca o, 49 da adjac encia, 49 da associatividade, 49 da idempot encia, 49 da involu ca o, 49 da redund ancia, 49 do consenso, 51 dos elementos absorventes, 49 Teoremas envolvendo o OU-exclusivo, 50 Termo maximal, ver Maxtermo minimal, ver Mintermo tf , ver Tempo de decrescimento th , 228, 229 Tipos de RAM, 341342 de ROM, 330331 tOE , ver Tempo de Output Enable tOZ , ver Tempo de Output Disable c ao de uma tpd , ver Tempo de propaga porta, 227, 229 tpHL , ver Tempo de propaga ca o de H para L, 227 c ao de L tpLH , ver Tempo de propaga para H, 227 Transcodicador, 163 Transfer encia entre registos, 270276 Transi c ao condicionada, 303, 313, 374, 383, 384, 386 incondicional, 302, 313, 374, 383 386 Transistores bipolares, 98 MOS, 99 Transporte da adi c ao no c odigo BCD, 35 na adi c ao, 12 na subtrac ca o, 15 tr , ver Tempo de crescimento Truncagens, 1012 tsu , 228, 229 c ao do W RIT E tWP , ver Tempo de dura UCS-2, ver C odigo UCS-2 UNICODE, ver C odigo UNICODE Unidade Central de Processamento, 329, 364 de Controlo, 329 de controlo, 364 de Entrada, 329 de Mem oria, 329

INDICE REMISSIVO
de Sa da, 329 Universal Character Set-2, ver C odigo UCS-2 Utiliza c ao das ROMs, 331 Val encia, 39 Valor inicial, 250 Valores l ogicos 0 e 1, 112 Vari aveis booleanas, ver Vari aveis booleanas simples booleanas gerais, 41 booleanas simples, 41 conte udo sem antico das , 124 128 de estado, 298 Vari avel activa, 126 activa a H, 126 activa a L, 126 booleana simples complementa ca o de uma , ver Complementa c ao complemento de uma , ver Complementa ca o conte udo sem antico de uma , 124 nega c ao de uma , ver Complementa c ao inactiva, 126 Watchdog, 324 W RIT E tempo de dura ca o do , ver Tempo de dura c ao do W RIT E Zona de mem oria, 336

411

Você também pode gostar