Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Circuitos Digitais: Análise e Sintese Lógica: Aplicações em FPGA, Trabalhos de Engenharia Elétrica

Excelente Material que fala sobre circuitos digitais

Tipologia: Trabalhos

2025

Compartilhado em 30/06/2025

dgmloureiro
dgmloureiro 🇧🇷

2 documentos

1 / 34

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
TALES CLEBER PIMENTA
TALES CLEBER PIMENTA
CIRCUITOS
DIGITAIS
CIRCUITOS DIGITAIS
ANÁLISE E SÍNTESE LÓGICA:
APLICAÇÕES EM FPGA
Os circuitos digitais podem
atingir uma quantidade muito
grande de portas lógicas (e
consequentemente transisto-
res). Como exemplo, o micro-
processador Intel i7 tem mais de
700 milhões de transistores e o
Intel Xeon de 18 núcleos supera
5,5 bilhões de transistores.
Naturalmente seria impossível
projetar esses processadores
pela interligação de portas
lógicas ou blocos lógicos. De
fato, o projeto de circuitos com
algumas centenas de portas
lógicas já se torna problemático.
Assim, este livro apresenta o
projeto de circuitos lógicos a
partir da linguagem de descri-
ção de hardware Verilog. Ao
final de cada capítulo são apre-
sentadas as descrições em
Verilog dos circuitos discutidos.
Isso permite associar de forma
didática, os circuitos e as suas
respectivas descrições em
Verilog. O aprendizado dessa
linguagem de descrição de
hardware é facilitado por sua
similaridade com as linguagens
de programação.
Ao final de cada capítulo
também são apresentados
exercícios e pequenos projetos
elaborados para sedimentar os
tópicos apresentados e para dar
confiança ao leitor.
TALES CLEBER PIMENTA possui
graduação em Engenharia Elétrica
pela Universidade Federal de Itajubá
(UNIFEI), em 1985, e mestrado em
Engenharia Elétrica também pela
UNIFEI, em 1988. Obteve seu
doutorado em 1992 pela Ohio
University – EUA. Fez o primeiro
pós-doutorado na The Ohio State
University, em 1997, em circuitos
integrados analógicos de baixa
tensão, o segundo pós-doutorado
na Virginia Politechnic Institute and
State University, em 2005, na área
de circuitos integrados de frequên-
cias ultraelevadas, e o terceiro
pós-doutorado, em 2014, pela
University of North Florida, em
circuitos de aplicações biomédicas.
É professor titular da Universidade
Federal de Itajubá, onde trabalha
desde 1985, e coordenador do
Grupo de Microeletrônica e da
equipe Uai!rrior de competição de
robótica. Ministra as disciplinas de
circuitos digitais na graduação e
disciplinas da área de microeletrô-
nica na pós-graduação.
Consulte nosso catálogo completo e últimos
lançamentos em www.elsevier.com.br
Capa: Vinicius Dias | Foto: e-crow@istock.com
Os circuitos digitais estão tão intensamente presentes em
nossas vidas, que é difícil imaginar viver sem eles. Eles estão
presentes em telefones móveis, tablets, computadores, jogos
eletrônicos, máquinas fotográficas, televisores e tudo que
acessa a Internet, além da própria Internet.
Esses circuitos permitem a operação de automóveis, barcos,
aviões, eletrodomésticos (tais como geladeiras, lava-roupas,
lava-louças e máquinas de café), equipamentos médicos,
equipamentos militares e muitos outros. Muitas vezes nem
percebemos ou sabemos de sua existência, tais como seu uso
em rodovias e ferrovias, produção agrícola, portos e aeropor-
tos, produção de energia, e em muitas outras áreas.
Tudo está se tornando “digital”, e isso é entendido como sendo
melhor, mais rápido, mais econômico, mais funcional, etc.
Este livro tem por objetivo oferecer os subsídios para entender
os circuitos e as estruturas lógicas que tornam tudo isso possí-
vel. Mais do que entender, o texto busca oferecer uma visão
orientada a projetos.
Circuitos digitais é voltado aos alunos de cursos de engenharia
elétrica, eletrônica, controle e automação, computação, ciên-
cia de computação e similares, assim como cursos técnicos e
tecnológicos.
O texto apresenta conceitos de forma simples e intuitiva, sem
se prender ao formalismo científico, isto é, foca no aspecto
prático e didático, e aborda os conceitos básicos de circuitos
digitais, desde a álgebra de Boole até máquinas de estado, que
formam o coração dos processadores e controladores.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Pré-visualização parcial do texto

Baixe Circuitos Digitais: Análise e Sintese Lógica: Aplicações em FPGA e outras Trabalhos em PDF para Engenharia Elétrica, somente na Docsity!

TALES CLEBER PIMENTA

CIRCUITOS

DIGITAIS

ANÁLISE E SÍNTESE LÓGICA

APLICAÇÕES EM FPGA

Tales Cleber Pimenta

Circuitos Digitais

Análise e Síntese Lógica:

Aplicações em FPGA

Sumário

Agradecimentos........................................................ vii

O Autor.................................................................. ix

Sumário xxiii

xxvi CIRCUITOS DIGITAIS • ANÁLISE E SÍNTESE LÓGICA: APLICAÇÕES EM FPGA

  • CAPÍTULO Prefácio xi
  • Introdução
    • 1.1 Digital versus analógico
    • 1.2 Um pouco de história
      • 1.2.1 Tendências
    • 1.3 Ponto de vista
    • 1.4 Blocos
  • CAPÍTULO
  • Códigos Numéricos.
    • 2.1 Representação numérica
      • 2.1.1 Sistema Binário
      • 2.1.2 Sistema Octal
      • 2.1.3 Sistema Hexadecimal
      • 2.1.4 Sistemas Básicos
    • 2.2 Conversões de base
      • 2.2.1 Conversão de Decimal para outras Bases – Números Inteiros
      • 2.2.2 Conversão de Decimal para outras Bases – Números Fracionários
      • 2.2.3 Conversão de Decimal para outras Bases – Números Mistos
      • 2.2.4 Conversão entre Bases 2n
    • 2.3 Codigo GRAY xiv CIRCUITOS DIGITAIS • ANÁLISE E SÍNTESE LÓGICA: APLICAÇÕES EM FPGA
      • 2.3.1 Obtenção do Código Gray
      • 2.3.2 Conversão entre Código Gray e Binário
    • 2.4 Códigos BCD.
    • 2.5 Códigos alfanuméricos
    • 2.6 Exercícios
  • CAPÍTULO
  • Álgebra de Boole
    • 3.1 Operações básicas
      • 3.1.1 Inversão.
      • 3.1.2 Operação E
      • 3.1.3 Operação OU
    • 3.2 Expressões duais e complementares
    • 3.3 Teoremas
      • 3.3.1 Elemento Unitário (Aniquilador)
      • 3.3.2 Elemento Nulo (Identidade).
      • 3.3.3 Idempotência
      • 3.3.4 Complementaridade
      • 3.3.5 Comutativa.
      • 3.3.6 De Morgan
      • 3.3.7 Associativa.
      • 3.3.8 Distributiva
      • 3.3.9 Combinação
      • 3.3.10 Absorção ou Cobertura
      • 3.3.11 Eliminação
      • 3.3.12 Consenso ou Fantasma
      • 3.3.13 Conversão
      • 3.3.14 Teoremas – Sumário.
      • 3.3.15 Problemas de Aplicação de Teoremas
    • 3.4 Exercícios
  • CAPÍTULO
  • Circuitos Lógicos Básicos
    • 4.1 Expressões Booleanas e tabela verdade
    • 4.2 Blocos lógicos. Sumário xv
      • 4.2.1 Operação Não-E (NAND)
      • 4.2.2 Operação Não-Ou (NOR).
      • 4.2.3 Operação Ou-Exclusivo (XOR).
      • 4.2.4 Operação Não-Ou-Exclusivo (XNOR) ou Coincidência
    • 4.3 Implementação de funções usando uma operação lógica
      • 4.3.1 Inversão.
      • 4.3.2 Ou
      • 4.3.3 E
      • 4.3.4 Não-Ou
      • 4.3.5 Não-E
      • 4.3.6 Expressões Lógicas
    • 4.4 Obtenção de expressões lógicas por tabelas
    • 4.5 Maxtermos e mintermos – forma canônica
      • 4.5.1 Número de Variáveis.
      • 4.5.2 Aplicações
    • 4.6 Circuitos a contatos
      • 4.6.1 Função E
      • 4.6.2 Função OU
      • 4.6.3 Função OU-Exclusivo
      • 4.6.4 Relés
      • 4.6.5 Função Inversão
      • 4.6.6 Outras Funções
    • 4.7 Simbologias IEEE/ANSI
    • 4.8 Circuitos básicos em Verilog
      • 4.8.1 Descrição Estrutural
      • 4.8.2 Descrição Comportamental
      • 4.8.3 Validação
    • 4.9 Exercícios
  • CAPÍTULO
  • Mapas de Karnaugh
    • 5.1 Simplificação de Lagrange
    • 5.2 Leituras de Karnaugh.
      • 5.2.1 Metodologia de Leitura
      • 5.2.2 Exemplos de Leitura
      • 5.2.3 Leitura pelos xvi CIRCUITOS DIGITAIS • ANÁLISE E SÍNTESE LÓGICA: APLICAÇÕES EM FPGA
      • 5.2.4 Mapas de 5 Variáveis
      • 5.2.5 Mapas de 6 Variáveis
      • 5.2.6 Termos Opcionais.
    • 5.3 Aplicações de Karnaugh.
      • 5.3.1 Simplificação de Expressões
      • 5.3.2 Conversão entre Soma de Produtos e Produto de Somas
      • 5.3.3 Mintermos e Maxtermos
        • – Mintermos/Maxtermos 5.3.4 Conversão Soma de Produtos/Produto de Somas Operações
      • 5.3.5 Operações E e OU entre Funções
    • 5.4 Aplicações de Karnaugh em Verilog
      • 5.4.1 Primitivas Definidas pelo Usuário
      • 5.4.2 Descrição por Fluxo de Dados
    • 5.5 Exercícios
  • CAPÍTULO
  • Circuitos de Manuseio de Dados.
    • 6.1 Conversores de código
    • 6.2 Codificadores
      • 6.2.1 Codificador de Prioridade
      • 6.2.2 Codificador de Prioridade Tipo Termômetro
      • 6.2.3 Codificador de Teclado
    • 6.3 Decodificadores
      • 6.3.1 Decodificadores BCD e Binário para Sete Segmentos
      • 6.3.2 Implementação de Funções.
    • 6.4 Multiplexador
      • 6.4.1 Multiplexagem
      • 6.4.2 Multiplexador
      • 6.4.3 Composição de Multiplexadores
    • 6.5 Demultiplexador.
    • 6.6 Utilização de multiplexadores.
      • 6.6.1 Arranjo Paralelo de Multiplexadores.
      • 6.6.2 Arranjo Serial de Multiplexadores.
      • 6.6.3 Sistema de Comunicação.
      • 6.6.4 Implementação de Funções Lógicas.
    • 6.7 Circuitos de manuseio de dados utilizando Verilog. Sumário xvii
      • 6.7.1 Estruturas Hierárquicas.
    • 6.8 Exercícios.
  • CAPÍTULO
  • Circuitos Aritméticos.
    • 7.1 Soma.
      • 7.1.1 Meio Somador.
      • 7.1.2 Somador Pleno.
      • 7.1.3 Somadores de Múltiplos Bits.
    • 7.2 Subtração.
      • 7.2.1 Meio Subtrator.
      • 7.2.2 Subtrator Pleno.
      • 7.2.3 Subtratores de Múltiplos Bits.
    • 7.3 Subtração pelo complemento..
      • 7.3.1 Representação de Números Binários Negativos.
      • 7.3.2 Aritmética em Complemento de 2.
      • 7.3.3 Circuito Somador-Subtrator.
      • 7.3.4 Transbordo ou Estouro de Campo.
    • 7.4 Aritmética em BCD.
      • 7.4.1 Subtração BCD.
    • 7.5 Soma rápida.
    • 7.6 Unidade lógica e aritmética.
    • 7.7 Circuitos aritméticos utilizando Verilog.
    • 7.8 Exercícios.
  • CAPÍTULO
  • Latches e Flip-Flops.
    • 8.1 Latch Assíncrono.
      • 8.1.1 Aplicações de Latches.
    • 8.2 Latch Síncrono.
    • 8.3 Entradas diretas (Assíncronas).
    • 8.4 Latch D.
    • 8.5 Flip-Flop D.
    • 8.6 Flip-Flop JK.
    • 8.7 Flip-Flop JK Mestre-Escravo. xviii CIRCUITOS DIGITAIS • ANÁLISE E SÍNTESE LÓGICA: APLICAÇÕES EM FPGA
      • 8.7.1 Análise Simplificada.
    • 8.8 Flip-Flop T..
    • 8.9 Temporização.
    • 8.10 Conversão de flip-flops.
    • 8.11 Registradores de deslocamento.
      • 8.11.1 Aplicações de Registradores de Deslocamento.
    • 8.12 Latches e flip-flops utilizando Verilog.
      • 8.12.1 Latches e Flip-Flops por UDP.
      • 8.12.2 Latches e Flip-Flops por Descrição Comportamental.
      • 8.12.3 Deslocamentos.
      • 8.12.4 Controle de Atrasos.
    • 8.13 Exercícios.
  • CAPÍTULO
  • Contadores.
    • 9.1 Contadores assíncronos.
      • 9.1.1 Contagem Decrescente.
      • 9.1.2 Contagem Crescente/Decrescente.
      • 9.1.3 Valor Inicial de Contagem.
      • 9.1.4 Valor Final de Contagem Cíclica..
      • 9.1.5 Valor Final de Contagem com Parada do Contador.
      • 9.1.6 Valor de Contagem Transitório.
    • 9.2 Contadores síncronos.
      • 9.2.1 Sequência de Contagem.
      • 9.2.2 Mapas de Estado Seguinte.
      • 9.2.3 Mapas de Excitação – Flip-Flop SR.
      • 9.2.4 Montagem do Circuito.
      • 9.2.5 Mapas de Excitação – Flip-Flop JK..
      • 9.2.6 Leitura Simplificada – Flip-Flop JK.
      • 9.2.7 Mapas de Excitação – Flip-Flop T.
      • 9.2.8 Mapas de Excitação – Flip-Flop D.
    • 9.3 Acoplamento de contadores..
      • 9.3.1 Acoplamento Assíncrono.
      • 9.3.2 Acoplamento Pseudossíncrono.
    • 9.4 Contadores utilizando Verilog..
    • 9.5 Exercícios.
  • CAPÍTULO Sumário xix
  • Máquinas de Estado.
    • 10.1 Conceitos de máquinas de estados..
    • 10.2 Projeto de máquinas de estados..
      • 10.2.1 Passo 1 – Obtenção do Diagrama de Estados.
      • 10.2.2 Passo 2 – Obtenção da Tabela de Estados.
      • 10.2.3 Passo 3 – Eliminação de Estados Equivalentes..
      • 10.2.4 Passo 4 – Designação de Estados Auxiliares.
      • 10.2.5 Passo 5 – Mapas de Transição.
      • 10.2.6 Passo 6 – Mapas de Excitação dos Flip-Flops.
      • 10.2.7 Passo 7 – Mapas de Saída.
      • 10.2.8 Exemplo Completo.
      • 10.2.9 Múltiplas Saídas.
    • 10.3 Máquinas de estado utilizando Verilog.
    • 10.4 Exercícios.
  • CAPÍTULO
  • Projeto de Máquinas de Estado por Fluxogramas..
    • 11.1 Elementos.
    • 11.2 Blocos.
    • 11.3 Fluxogramas a partir de Diagrama de Estados..
    • 11.4 Projeto de máquinas de estado a partir de fluxogramas..
      • 11.4.1 Designação de Estados.
      • 11.4.2 Expressões de Estado Seguinte.
      • 11.4.3 Mapas de Excitação dos Flip-Flops.
      • 11.4.4 Expressões de Saída.
      • 11.4.5 Exemplo de Mealy.
    • 11.5 Máquinas Mealy-Moore.
      • 11.5.1 Exemplo de Máquina Mealy.
    • 11.6 Máquinas de estado por fluxograma utilizando Verilog.
    • 11.7 Exercícios.
  • CAPÍTULO
  • Memórias.
    • 12.1 Tipos de memórias.
    • 12.2 Memórias voláteis. xx CIRCUITOS DIGITAIS • ANÁLISE E SÍNTESE LÓGICA: APLICAÇÕES EM FPGA
      • 12.2.1 Memória RAM Dinâmica.
    • 12.3 Memórias não voláteis..
      • 12.3.1 Memória ROM.
      • 12.3.2 Memória PROM.
      • 12.3.3 Memória EPROM.
      • 12.3.4 Memória EEPROM ou E^2 PROM.
      • 12.3.5 Memória Flash.
    • 12.4 Arranjos de memórias.
      • 12.4.1 Associação Paralela ou Horizontal de Memórias..
      • 12.4.2 Associação Serial ou Vertical de Memórias.
      • 12.4.3 Decodificação de Endereços.
      • 12.4.4 Decodificação de Memórias de Tamanhos Diferentes.
      • 12.4.5 Decodificação de Memórias com Endereço Fracionado.
    • 12.5 Temporização de memórias.
    • 12.6 Memórias utilizando Verilog.
    • 12.7 Exercícios.
  • CAPÍTULO
  • Dispositivos Lógicos Programáveis.
    • 13.1 Arranjos lógicos programáveis..
      • 13.1.1 Arranjo Lógico Programável – PLA.
      • 13.1.2 Arranjo Programável Lógico – PAL.
    • 13.2 Dispositivos programáveis sequenciais.
      • 13.2.1 Arranjo Lógico Genérico – GAL.
      • 13.2.2 Dispositivos Lógicos Programáveis Complexos – CPLD.
      • 13.2.3 Arranjo de Portas Programável em Campo – FPGA.
    • 13.3 Exercícios.
  • CAPÍTULO
  • Famílias Lógicas.
    • 14.1 Lógica resistor-transistor.
      • 14.1.1 Margens de Ruído.
      • 14.1.2 Fan Out.
      • 14.1.3 Fan Out e Margem de Ruído.
      • 14.1.4 Portas Lógicas RTL.
  • 14.2 Lógica diodo-transistor. Sumário xxi
    • 14.2.1 DTL Modificado.
    • 14.2.2 HTL.
    • 14.2.3 Fan Out em DTL.
    • 14.2.4 Operação E Virtual.
  • 14.3 Lógica transistor-transistor.
    • 14.3.1 Entradas em Nível Alto.
    • 14.3.2 Pelo Menos uma Entrada em Nível Baixo.
    • 14.3.3 Carga TTL.
    • 14.3.4 Velocidade de Operação.
    • 14.3.5 Saída em Alta Impedância.
    • 14.3.6 Saída com Coletor Aberto.
    • 14.3.7 Entradas Não-Usadas.
    • 14.3.8 TTL de Baixa Potência.
    • 14.3.9 TTL de Alta Velocidade.
    • 14.3.10 TTL Schottky.
    • 14.3.11 TTL Schottky de Baixa Potência.
    • 14.3.12 TTL Schottky Avançado de Baixa Potência.
    • 14.3.13 Comparativo Famílias TTL.
  • 14.4 Lógica emissor acoplado.
  • 14.5 Lógica CMOS.
    • 14.5.1 Inversor CMOS..
    • 14.5.2 Margens de Ruído.
    • 14.5.3 Funções Lógicas.
    • 14.5.4 Fan In e Fan Out.
    • 14.5.5 Inversor NMOS com Carga Resistiva.
    • 14.5.6 Inversor NMOS com Carga Ativa.
    • 14.5.7 Dreno Aberto.
    • 14.5.8 Saída Alta Impedância.
    • 14.5.9 Porta de Transmissão.
    • 14.5.10 Dissipação de Potência.
  • 14.6 Interfaceamento.
    • 14.6.1 TTL-CMOS 5V.
    • 14.6.2 TTL-CMOS Geral.
    • 14.6.3 CMOS 5V – TTL.
    • 14.6.4 CMOS Genérico – TTL.
    • 14.6.5 Outras Interfaces.
    • 14.7 Verilog. xxii CIRCUITOS DIGITAIS • ANÁLISE E SÍNTESE LÓGICA: APLICAÇÕES EM FPGA
    • 14.8 Exercícios.
  • CAPÍTULO
  • Circuitos CMOS.
    • 15.1 Circuito CMOS estático e dinâmico..
      • 15.1.1 Tempo de Propagação e Margem de Ruído.
      • 15.1.2 Cascateamento em Lógica Dinâmica.
      • 15.1.3 Funções Lógicas em Lógica Dinâmica.
    • 15.2 Latches e flip-flops.
    • 15.3 Chaves analógicas.
      • 15.3.1 Multiplexador e Demultiplexador Analógico.
    • 15.4 Schmitt-Trigger.
    • 15.5 Circuitos astáveis.
    • 15.6 Monoestáveis.
      • 15.6.1 Exemplos de Uso de Monoestáveis.
      • 15.6.2 Monoestáveis e Astáveis Integrados.
    • 15.7 BiCMOS.
    • 15.8 Exercícios.
  • CAPÍTULO
  • Conversão AD & DA.
    • 16.1 Conversão digital-analógico.
      • 16.1.1 Conversor Resistivo de Peso Ponderado.
      • 16.1.2 Conversor Resistivo Rede R-2R.
    • 16.2 Circuitos de amostragem e retenção.
    • 16.3 Conversão analógico-digital.
      • 16.3.1 Conversor Flash.
      • 16.3.2 Conversor Contador.
      • 16.3.3 Rampa Dupla.
      • 16.3.4 Redistribuição de Carga.
      • 16.3.5 Outros Conversores e Métricas.
    • 16.4 Exercícios.
  • Transistor MOS. APÊNDICE A
    • A.1 Estrutura e Operação.
      • A.1.1 Análise Gráfica.
      • A.1.2 Modulação de Canal.
      • A.1.3 Impedância de Saída.
      • A.1.4 Efeito de Corpo.
      • A.1.5 Parâmetro de Condução.
      • A.1.6 Condução Sublimiar.
      • A.1.7 Transistor PMOS.
      • A.1.8 Representação Gráfica.
      • A.1.9 Capacitâncias Parasitas.
    • A.2 CMOS.
    • A.3 Circuito DC MOS.
    • A.4 Modelo AC MOS.
    • A.5 Porta de Transmissão.
    • A.6 Inversor CMOS.
      • A.6.1 Dimensionamento de Transistores..
    • A.7 Sumário.
  • Transistor Bipolar. APÊNDICE B
    • B.1 Estrutura e Operação.
      • B.1.1 Análise Gráfica.
      • B.1.2 Modulação da Base.
      • B.1.3 Impedância de Entrada e Saída.
      • B.1.4 Transistor PNP.
      • B.1.5 Aspecto Construtivo e Capacitâncias Parasitas..
    • B.2 Circuito DC NPN.
    • B.3 Modelo AC MOS.
    • B.4 Bandas de Energia.
    • B.5 Sumário.
  • Amplificador Operacional. APÊNDICE C
    • C.1 Estrutura e Operação.
      • C.1.1 Amplificador Não-Inversor.
      • C.1.2 Amplificador Inversor.
      • C.1.3 Amplificador Somador.
      • C.1.4 Conversor Corrente-Tensão..
      • C.1.5 Conversor Tensão-Corrente..
      • C.1.6 Amplificador de Diferença.
      • C.1.7 Amplificador de Instrumentação.
      • C.1.8 Integrador.
      • C.1.9 Derivador.
      • C.1.10 Amplificador Logarítmico.
      • C.1.11 Amplificador Exponencial.
      • C.1.12 Comparador.
      • C.1.13 Comparador com Histerese ou Schmitt Trigger.
  • Verilog. APÊNDICE D
    • D.1 Estrutura..
    • D.2 Sinais.
      • D.2.1 Sinais Internos.
      • D.2.2 Sinais Externos.
    • D.3 Descrição Estrutural.
      • D.3.1 Estruturas Primitivas.
        • D.3.1.1 UDP Combinacional.
        • D.3.1.2 UDP Sequencial Ativa por Nível.
        • D.3.1.3 UDP Sequencial Ativa por Rampa.
        • D.3.1.4 Uso de UDP.
    • D.4 Estrutura Hierárquica..
    • D.5 Descrição por Fluxo de Dados.
      • D.5.1 Constantes.
      • D.5.2 Segmento de Vetor.
      • D.5.3 Operadores Aritméticos.
      • D.5.4 Operadores Relacionais.
    • D.5.5 Operadores Lógicos. Sumário xxv
    • D.5.6 Deslocamento.
    • D.5.7 Concatenação..
    • D.5.8 Atribuição Contínua de Saída.
    • D.5.9 Atribuição Condicional.
    • D.5.10 Atrasos.
  • D.6 Descrição Comportamental.
    • D.6.1 Variáveis.
    • D.6.2 Vetores.
    • D.6.3 Constantes.
    • D.6.4 Bloco Comportamental.
    • D.6.5 Temporização.
    • D.6.6 Operações Condicionais.
    • D.6.7 Múltiplas Escolhas.
    • D.6.8 Loops.
    • D.6.9 Controle de Temporização.
    • D.6.10 Eventos.
    • D.6.11 Múltiplos Eventos.
    • D.6.12 Atraso Bloqueável e Não-Bloqueável.
  • D.7 Implementação.
    • D.7.1 Uso de Tarefa.
    • D.7.2 Uso de Função.
    • D.7.3 Tarefas e Funções do Sistema.
    • D.7.4 Circuitos Combinacionais Básicos.
    • D.7.5 Registros.
    • D.7.6 Estilos de Codificação.
    • D.7.7 Latches Indesejáveis..
    • D.7.8 Máquinas de Estado.
  • D.8 Verificação.
    • D.8.1 Test Benches.
    • D.8.2 Sinais de Estímulo.
  • D.9 Erros e Sugestões.
  • D.10 Exercícios.
  • Simulação e Síntese. APÊNDICE E
    • E.1 Quartus – Altera.
      • E.1.1 Download e Instalação.
      • E.1.2 Configuração Inicial.
      • E.1.3 Captura Esquemática.
      • E.1.4 Simulação de Esquemáticos usando ModelSim.
      • E.1.5 Tempos de Atrasos em Simulações ModelSim.
      • E.1.6 Descrição Verilog.
      • E.1.7 Simulação utilizando Test Bench.
      • E.1.8 Programação em FPGA.
    • E.2 Vivado – Xilinx.
      • E.2.1 Download e Instalação.
      • E.2.2 Configuração Inicial.
      • E.2.3 Descrição Verilog.
      • E.2.4 Simulação.
      • E.2.5 Análise RTL.
      • E.2.6 Síntese Pré-Programação.
      • E.2.7 Programação.
      • E.2.8 Simulações Temporais.

C A P Í T U L O

Códigos Numéricos^2

Números fazem parte das atividades humanas e sua importância é indiscutível. Números

estão presentes em toda a história, até em vários objetos pré-históricos. E apesar de suas

diferentes formas de representação ao longo da história, estão na forma decimal pelo sim-

ples fato de o ser humano ter dez dedos nas mãos.

Entretanto podem haver outros códigos numéricos, de acordo com a necessidade ou

conveniência. No caso de circuitos digitais necessita-se do código binário.

2.1 Representação numérica

Na representação decimal, o número 1.327 representa uma quantidade igual a um milhar,

três centenas, duas dezenas e sete unidades, ou seja,

Nessa representação, a posição de cada dígito representa o seu peso, sendo, portanto,

uma representação posicional. O padrão dessa representação é dado por

Assim, de forma genérica, tem-se

onde r é a base, e a é um coeficiente inteiro, positivo e menor que r.

Observe que essa representação é válida também para números negativos. Vale lem-

brar que no sistema decimal usam-se os símbolos 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.

2.1.1 Sistema Binário

O princípio anterior, dado pelas expressões (2-2) e (2-3), é válido também para o sistema

binário. No sistema binário existem somente dois valores, ou símbolos; 0 e 1. O dígito

CAPÍTULO

Álgebra de Boole^3

A álgebra lógica foi apresentada pelo matemático Britânico George Boole em 1847 (The

Mathematical Analysis of Logic) em resposta a uma controvérsia entre Augustus De

Morgan e William Hamilton, e mais detalhadamente em 1854 (An Investigation of the

Laws of Thought) onde se discute a análise lógica. Em 1937 Claude Shannon provou que

a álgebra de Boole e a aritmética binária poderiam ser usadas em circuitos com relês, usa-

dos em telefonia, e estabeleceu-se a álgebra digital ou álgebra binária.

A álgebra de Boole descreve as operações lógicas dos circuitos lógicos, e conse-

quentemente as iterações dos sinais digitais. Tais iterações permitem a implementa-

ção de blocos e circuitos maiores, que encontram infinitas aplicações, desde relógios

digitais até complexos sistemas computacionais.

A álgebra de Boole é baseada em dois valores lógicos; 0 e 1. Esses valores podem

representar condições associadas com verdadeiro e falso, ligado e desligado, aberto e

fechado, energizado e desenergizado, etc. Assim, pode-se estabelecer a relação 0 para

falso e 1 para verdadeiro (ou vice-versa), 0 para aberto e 1 para fechado (ou vice versa),

e assim sucessivamente. Como a álgebra de Boole contempla apenas dois valores, 0 e

1, pode-se inferir que o contrário de 0 é 1, e vice-versa.

3.1 Operações básicas

As três operações básicas da álgebra de Boole são os blocos elementares na construção de

todos os circuitos digitais.

3.1.1 Inversão

A operação de inversão, também chamada de Não (NOT em Inglês), Negação ou

Complemento, executa a inversão lógica do sinal de entrada. A operação de inversão de

uma variável A tem tipicamente as representações mostradas em (3-1). A Tabela 3.1 apre-

senta a sua operação e a Figura 3.1 mostra a sua representação gráfica. Se a entrada é 0, a

saída será 1, e vice-versa.

Y = A = A' (3-1)