|
DESCRIÇÃO
Os Sistemas Digitais estão hoje presentes no nosso quotidiano, do telemóvel ao computador, sendo uma realidade incontornável para quem se interessa pelas áreas de Electrónica, Electrotecnia e Informática.
Este livro tem por objectivo ensinar desde os conceitos base dos Sistemas Digitais até aos mais avançados, que permitirão ao leitor desenvolver os seus projectos com base nos sistemas configuráveis mais avançados que se encontram no mercado, utilizando, nomeadamente, a linguagem de descrição de hardware Verilog. O livro contém exemplos e está organizado de forma a ter uma forte vertente prática, realçando os aspectos que interessam para as implementações reais.
No final de cada capítulo, o autor apresenta um conjunto de exercícios resolvidos e propostos que ajudam o leitor a consolidar e testar os seus conhecimentos.
Este livro é dirigido principalmente aos alunos das licenciaturas nas áreas de Electrónica, Electrotecnia e Informática, sendo também útil para alunos de outras licenciaturas cuja formação contemple uma unidade de Sistemas Digitais. Pelo seu carácter prático, o livro pode igualmente ser utilizado por profissionais que procurem alargar os seus conhecimentos ou resolver problemas concretos.
PRINCIPAIS TÓPICOS
Ao longo do livro são abordados, entre outros, os seguintes temas:
▪Lógica e simplificação de funções;
▪Sistemas de numeração;
▪Circuitos combinatórios e sequenciais;
▪Verilog;
▪Características eléctricas dos circuitos digitais;
▪Memórias;
▪Lógica configurável;
▪Ferramenta ISE da empresa Xilinx;
▪Conversores de analógico para digital e de digital para analógico.
PÚBLICO ALVO
- Estudantes das áreas de Electrónica, Electrotecnia e Informática
- Estudantes de outras licenciaturas que contemplem unidades de Sistemas Digitais
- Profissionais das áreas acima indicadas
O(s) Autor(s)
Morgado Dias
Professor Auxiliar da Universidade da Madeira onde desempenha, actualmente, as funções de Pró-Reitor. Publicou mais de 50 trabalhos entre dissertações, artigos científicos, livros e capítulos de livro e integra o Centro de Ciências Matemáticas.
ÍNDICE
Prefácio
Lista de Acrónimos/Abreviaturas
1 - Introdução aos Sistemas Digitais
1.1 Algumas definições
1.2 Grandezas analógicas e grandezas digitais
1.3 Circuitos integrados
1.3.1 Evolução dos circuitos integrados
1.3.2 Encapsulamentos
1.4 Design
1.5 Conclusão
2 - Funções Lógicas
2.1 Variáveis e funções
2.1.1 Funções de uma única variável
2.1.2 Funções de duas ou mais variáveis
2.1.2.1 Função E
2.1.2.2 Função OU
2.1.2.3 Função OU exclusivo
2.1.3 Implementação prática das funções lógicas
2.2 Propriedades das funções
2.2.1 Função OU
2.2.2 Função E
2.2.3 Função OU exclusivo
2.2.4 Funções E negado e OU negado
2.3 Teoremas da Álgebra de Boole
2.4 Formas de expressar funções lógicas
2.5 Suficiência das funções Não E e Não OU
2.6 Formas canónicas para funções lógicas
2.7 Tabelas de verdade, minitermos e maxitermos
2.7.1 Minitermos
2.7.2 Maxitermos
2.7.3 Preenchimento de tabelas de verdade
2.8 Estruturas de portas lógicas
2.8.1 Soma de produtos
2.8.2 Produto de somas
2.8.3 Soluções com apenas um tipo de porta lógica
2.9 Conclusão
Exercícios Resolvidos
Exercícios Propostos
3 - Simplificação de Funções
3.1 Mapas de Karnaugh
3.1.1 Mapas de Karnaugh de uma variável
3.1.2 Mapas de Karnaugh de duas variáveis
3.1.3 Mapas de Karnaugh de três variáveis
3.1.4 Mapas de Karnaugh de quatro variáveis
3.1.4.1 Representação sob a forma de soma de produtos
3.1.4.2 Representação sob a forma de produto de somas
3.1.5 Funções não totalmente especificadas
3.1.6 Mapas de Karnaugh de cinco variáveis
3.1.7 Mapas de Karnaugh de seis variáveis
3.1.8 Identificação de funções OU-exclusivo em mapas de Karnaugh
3.2 Método de Quine-McCluskey
3.2.1 1º passo: tabela inicial
3.2.2 2º passo: associação de minitermos
3.2.3 3º passo: tabela de implicantes primos
3.3 Conclusão
Exercícios Resolvidos
Exercícios Propostos
4 - Sistemas de Numeração e Códigos
4.1 O sistema de numeração binário
4.1.1 Conversão entre o sistema decimal e binário
4.2 Os sistemas de numeração octal e hexadecimal
4.2.1 Conversão de e para os sistemas octal e hexadecimal
4.2.1.1 Conversão envolvendo o binário
4.2.1.2 Conversões directas
4.3 Operações aritméticas
4.3.1 Adição e subtracção em decimal
4.3.2 Adição e subtracção de números não decimais
4.3.2.1 Adição e subtracção em binário
4.3.2.2 Adição e subtracção em octal e hexadecimal
4.4 Representação de números negativos
4.4.1 Representação em sinal e magnitude
4.4.2 Representação em complemento para 1
4.4.3 Representação em complemento para 2
4.4.3.1 Soma e subtracção em complemento para 2
4.5 Overflow
4.6 Multiplicação binária
4.7 Divisão binária
4.8 Notação de vírgula flutuante
4.8.1 Formato de vírgula flutuante
4.8.2 Comparação das notações
4.8.3 Desvantagem
4.9 Códigos
4.9.1 Código Binary Coded Decimal
4.9.2 Códigos não ponderados
4.9.3 Código de Gray
4.9.4 Código para displays de 7 segmentos
4.9.5 Códigos alfanuméricos
4.10 Conclusão
Exercícios Resolvidos
Exercícios Propostos
5 - Circuitos Combinatórios
5.1 Análise de circuitos combinatórios
5.2 Síntese de circuitos combinatórios
5.3 Descodificador
5.4 Codificador
5.4.1 Codificadores com prioridade
5.5 Multiplexer
5.5.1 Utilização de multiplexers para a implementação de funções combinatórias
5.5.1.1 Implementação directa
5.5.1.2 Implementação com tabelas
5.5.1.3 Implementação a partir da expressão de saída do multiplexer
5.6 Desmultiplexer
5.6.1 Utilização conjunta de multiplexers e desmultiplexers
5.7 Comparadores
5.8 Somadores
5.8.1 Semi-somador
5.8.2 Somador completo
5.8.3 Somador de n bits
5.8.3.1 Somadores ripple carry
5.8.3.2 Somadores carry lookahead
5.9 Subtractores
5.10 Conclusão
Exercícios Resolvidos
Exercícios Propostos
6 - Introdução ao Verilog
6.1 Introdução às LDHs
6.1.1 Verilog e outras LDHs
6.1.2 Perspectiva histórica do Verilog
6.2 Introdução à linguagem de descrição de hardware Verilog
6.2.1 Introdução
6.2.2 Níveis de abstracção
6.2.3 Estrutura básica
6.2.4 Instanciação
6.2.5 Tipos de dados
6.2.5.1 Wires e registers
6.2.5.2 Integer e real
6.2.5.3 Vectores
6.2.5.4 Arrays
6.2.5.5 Representação de números
6.2.6 Funcionalidades de nível de abstracção mais elevado
6.2.6.1 Assign
6.2.6.2 Always
6.2.6.3 For
6.2.6.4 If
6.2.6.5 Case
6.2.7 Operadores
6.2.7.1 Operadores lógicos
6.2.7.2 Operadores bitwise
6.2.7.3 Operadores de redução
6.2.7.4 Operadores de deslocamento
6.2.7.5 Operadores de concatenação
6.2.7.6 Operador condicional
6.2.7.7 Operadores relacionais
6.2.7.8 Operadores aritméticos
6.2.7.9 Precedência
6.2.8 Execução dos blocos
6.2.9 Palavras reservadas do Verilog
6.2.10 Exemplos
6.2.11 Hierarquia
6.2.12 Descrições mistas
6.2.13 Instruções não sintetizáveis
6.2.13.1 Initial
6.2.13.2 Parâmetros de atraso
6.3 Conclusão
Exercícios Resolvidos
Exercícios Propostos
7 - Características Eléctricas
7.1 Famílias lógicas
7.2 Circuito interno
7.2.1 Lógica TTL
7.2.1.1 Saída totem-pole
7.2.1.2 Porta inversora
7.2.1.3 Porta E
7.2.1.4 Porta OU
7.2.1.5 Saída em colector aberto
7.2.1.6 Tristate ou three-state
7.2.2 Lógica CMOS
7.2.2.1 Porta inversora
7.2.2.2 Porta E negado
7.2.2.3 Porta OU negado
7.2.2.4 Saída em dreno aberto
7.2.2.5 Tristate ou three-state
7.3 Definição eléctrica dos valores lógicos
7.3.1 Margem de ruído
7.4 Fan-out e fan-in
7.5 Comparação das tecnologias
7.5.1 Consumo
7.5.2 Velocidade
7.5.3 Produto consumo x velocidade
7.6 Ligação CMOS-TTL e TTL-CMOS
7.6.1 Ligação TTL-CMOS
7.6.1.1 Dispositivos com alimentação idêntica
7.6.1.2 Dispositivos com alimentação distinta
7.6.2 Ligação CMOS-TTL
7.6.2.1 Dispositivos com alimentação idêntica
7.6.2.2 Dispositivos com alimentação distinta
7.7 Conclusão
Exercícios Resolvidos
Exercícios Propostos
8 - Elementos de Memória
8.1 Latch
8.1.1 Latch com portas de habilitação
8.2 Sinais de relógio
8.2.1 Limitações dos elementos de memória
8.3 Flip-flops master-slave
8.4 Flip-flops edge-triggered
8.4.1 Tipo SR
8.4.2 Parâmetros temporais associados aos flip-flops edge-triggered
8.5 Outros tipos de flip-flops
8.5.1 Flip-flops do tipo JK
8.5.2 Flip-flops do tipo T
8.6 Conversão entre tipos de flip-flops
8.6.1 Flip-flop do tipo D baseado em SR
8.6.2 Flip-flop do tipo JK baseado em D
8.6.3 Flip-flop do tipo T baseado em D
8.6.4 Método de conversão genérico
8.7 Registos
8.7.1 Registos de deslocamento
8.7.2 Operações entre registos
8.7.3 Registos universais
8.8 Elementos de memória em Verilog
8.8.1 Latches e flip-flops
8.8.2 Registos
8.9 Conclusão
Exercícios Resolvidos
Exercícios Propostos
9 - Contadores
9.1 Definições
9.2 Contador em anel
9.3 Contador em anel torcido
9.4 Contadores de módulo 2n
9.5 Comparação das topologias de contadores
9.6 Contadores de módulo arbitrário
9.7 Contadores assíncronos
9.8 Outras funcionalidades
9.9 Contadores de projecto estruturado e módulo arbitrário
9.10 Lockout
9.11 Contadores em Verilog
9.12 Conclusão
Exercícios Resolvidos
Exercícios Propostos
10 - Circuitos Sequenciais
10.1 Estrutura das máquinas de estados
10.2 Contadores como circuitos sequenciais
10.3 Utilização de diferentes tipos de FFs
10.4 Máquinas de Moore e de Mealy
10.4.1 Máquinas de Moore
10.4.2 Máquinas de Mealy
10.4.3 Eliminação de estados redundantes
10.4.3.1 Inspecção visual
10.4.3.2 Técnica das partições
10.5 Máquinas de estados de hardware não mínimo
10.6 Circuitos sequenciais em Verilog
10.7 Conclusão
Exercícios Resolvidos
Exercícios Propostos
11 - Memórias
11.1 Algumas características e tipos de memórias
11.2 Memória RAM
11.2.1 Estrutura interna de uma RAM
11.3 Associações de memórias
11.3.1 Expansão da palavra
11.3.2 Expansão do número de palavras
11.4 Memória ROM
11.4.1 PROM
11.4.2 EPROM
11.4.3 EEPROM
11.5 Memória NV-RAM
11.6 Memórias Flash
11.7 Tempos de comutação das memórias
11.7.1 Ciclos de leitura
11.7.2 Ciclos de escrita
11.8 Memórias série
11.9 Memórias do tipo pilha
11.10 Memórias em Verilog
11.11 Conclusão
Exercícios Resolvidos
Exercícios Propostos
12 - Lógica Configurável
12.1 PLDs
12.1.1 PROM
12.1.2 PAL
12.1.3 PLA
12.1.4 Blocos de Entrada/Saída
12.2 CPLDs
12.3 FPGAs
12.4 Ferramentas de configuração
12.4.1 Configuração dos dispositivos
12.5 Conclusão
Exercícios Resolvidos
Exercícios Propostos
13 - Introdução ao ISE
13.1 Vantagens do ISE
13.2 Instalação do ISE
13.3 Criação de um circuito exemplo
13.4 Simulação do circuito exemplo
13.4.1 Simulação com o ISim
13.4.2 Simulação com o ModelSim
13.5 Programação do dispositivo configurável
13.6 Agradecimentos
13.7 Conclusão
14 - Conversores
14.1 Sistemas de processamento digital
14.2 Conversores de digital para analógico - DAC
14.2.1 Conversor de digital para analógico baseado na soma de corrente
14.2.2 Conversor de digital para analógico em escada R-2R
14.2.3 Características principais dos conversores de digital para analógico
14.2.3.1 Resolução
14.2.3.2 Linearidade
14.2.3.3 Monotonia
14.2.3.4 Precisão
14.2.3.5 Tempo de conversão
14.2.3.6 Sensibilidade à temperatura
14.3 Conversores de analógico para digital - ADC
14.3.1 Conversor de analógico para digital em rampa
14.3.2 Conversor de analógico para digital por aproximações sucessivas
14.3.3 Conversor de analógico para digital em topologia paralela
14.3.4 Conversor de analógico para digital de dupla rampa
14.3.5 Características principais dos conversores de analógico para digital
14.3.5.1 Linearidade
14.3.5.2 Monotonia
14.3.5.3 Resolução
14.3.5.4 Precisão
14.3.5.5 Sensibilidade à temperatura
14.3.5.6 Formato
14.3.5.7 Tempo de conversão
14.3.5.8 Tensão analógica de entrada
14.3.6 Comparação das topologias dos conversores de analógico para digital
14.4 Exemplo de processamento digital de sinal
14.5 Conclusão
Exercícios Resolvidos
Exercícios Propostos
Anexo A - Soluções dos Exercícios Propostos
Bibliografia
Índice Remissivo
= = = = =
número de páginas 528
= = = = =
|