MC602 - Circuitos Lógicos e Organização de Computadores

Créditos: 4
Horas semanais de atividades teóricas: 4
Oferecimento: 2º período letivo
 
Ementa

Introdução aos conceitos básicos de projeto lógico. Portas lógicas. Minimização de funções lógicas. Mapas de Karnaugh. Circuitos combinacionais típicos. Tecnologia de implementação. Elementos de memória: Latch, Flip-Flops, contadores. Síntese de circuitos sequenciais síncronos e máquinas de estado. Organização e hierarquia de memórias. Processador básico.  Introdução à descrição, síntese e simulação de circuitos digitais com VHDL.

Programa

Conceitos básicos e circuitos combinacionais

  1. Portas Lógicas básicas e sua implementação com chaves
  2. Conceitos básicos: tabela verdade, função lógica, diagrama de tempo (formas de onda), equivalência de circuitos lógicos
  3. Álgebra booleana: axiomas e teoremas, princípio da dualidade, prova de igualdade de funções booleanas e minimização
  4. Implementações canônicas: mintermos, soma de produtos, maxtermos e produtos de soma
  5. Síntese com NANDs, NORs

Tecnologia de implementação

  1. Implementação elétrica de portas lógicas nMOS e CMOS
  2. Tecnologias de implementação: SSI, MSI, LSI, VLSI, circuitos programáveis, circuitos integrados
  3. Circuitos integrados comerciais da Série 74XX
  4. Implementação de funções booleanas com PLDs, PLAs e FPGAs
  5. Níveis elétricos e lógicos, margem de ruído, características de transferência
  6. Conceitos básicos: potência dinâmica em CMOS, atraso de propagação, tempo de subida e descida, fan-in, fan-out, saídas wired-or/and e tri-state
  7. Datasheet típica

Síntese e minimização de circuitos combinacionais

  1. Mapas de Karnaugh
  2. Conceitos: mintermos, maxtermos, implicantes, implicantes principais e essenciais, cobertura, e custo da implementação
  3. Procedimento sistemático de minimização de circuitos na forma de soma de produtos e produtos de somas
  4. Funções incompletamente especificadas: Mapas de Karnaugh e minimização
  5. Síntese de circuitos multi-nível e minimização de circuitos com múltiplas saídas
  6. Representação cúbica e método de Quine – McCluskey
  7. Hazards e spikes: definições, comportamento na forma de onda e no Mapa de Karnaugh, seus efeitos; soluções

Sistemas de numeração e circuitos aritméticos

  1. Sistema de numeração posicional: decimal, binário, octal e hexadecimal
  2. Conversões entre representações
  3. Soma de números inteiros positivos na representação binária: Half Adder e Full Adder (Somador completo); Ripple Carry Adder
  4. Representação de números negativos, suas características, vantagens e desvantagens: signal e magnitude, complemento de um, complemento de dois
  5. Subtração, implementação do Somador/Subtrator em complemento de dois
  6. Overflow e circuito para sua detecção
  7. Velocidade de somadores ripple carry e antecipação de carry (Carry Look Ahead)
  8. Multiplicação de números binários positivos
  9. Representação de números em ponto flutuante e padrão IEEE 754
  10. BCD (Binary Coded Decimal): representação, soma

Circuitos combinacionais típicos

  1. Multiplexadores, Decodificadores, Codificadores binários e codificadores de prioridade, Conversores de código, Comparadores

Circuitos sequenciais

  1. Conceitos, diferenças entre circuitos combinacionais e sequenciais
  2. Elemento básico de armazenamento de memória
  3. Latches: tipo SR, SR chaveado, Latch Tipo D
  4. Flip-Flop tipo D: implementação mestre-escravo e convencional
  5. Latches e Flip-Flops: comportamento comparado e diferenças
  6. Sinais de controle síncronos e assíncronos
  7. Flip-Flop tipo JK e tipo T
  8. Parâmetros dinâmicos de Flip-Flops: setup, hold, atraso de propagação, frequência máxima de um circuito sequencial síncrono
  9. Registradores
  10. Registradores de deslocamento, carga paralela, aplicações
  11. Banco de Registradores em um barramento tri-state
  12. Contadores síncronos e assíncronos, crescentes e decrescentes, carga paralela
  13. Contadores de módulo arbitrário
  14. Contadores em cascata
  15. Contadores decádicos e BCD

Máquinas de estados finitos

  1. Máquinas de Moore e Mealy: conceitos, definições, análise e síntese
  2. Tabela de transição de estados e Diagrama de Transição de Estados
  3. Atribuição de estados, minimização e redução de estados
  4. Síntese de máquinas de estados com Flip-Flops tipo D e tipo JK
  5. Relacionamento de Diagramas de Transição de Estados e Fluxogramas: aplicações em processadores
  6. Frequência máxima de operação de máquinas de estado

Memórias: organização e implementação

  1. Organização típica de um sistema de computação e uso de memória
  2. Conceitos de memória: largura, palavra, capacidade, endereçamento
  3. Memórias voláteis e não voláteis, RAM. DRAM, SRAM, ROM, PROM, EPROM, EEPROM, FLASH
  4. Organização interna, bit-line, word-line
  5. Decodificação de endereços em um sistema composto por módulos de memória, espaço lógico de endereçamento

Introdução à organização de computadores, processador simples

  1. Organização básica, arquitetura de Von Neumann e Harvard modificada
  2. Introdução a um processador básico e seus módulos: memória de instruções e de dados, via de dados (banco de registradores e ULA), unidade de controle, operações de entrada e saída
  3. Introdução a um conjunto de instruções, instruções de desvio condicional e incondicional e sua implementação, código de máquina

Introdução à VHDL

  1. Implementação de circuitos combinacionais e sequenciais
  2. Comandos concorrentes e sequenciais, processos
  3. Projeto Hieráquico
  4. Simulação e síntese com o uso de ferramentas comerciais e FPGA
Bibliografia
Stephen Brown and Zvonko Vranesic. Fundamentals of Digital Logic with VHDL Design. McGraw-Hill, Third Edition, 2009
Peter J. Ashenden. The VHDL Cookbook. Disponível na Internet
John F. Wakerly. Digital Design Principles & Practices (Fourth Edition). Pearson, 2005