Departamento de Informática e Estatística

Programas de Ensino
Visitante (Entrar)

Programa de Ensino 20201

Aprovado pelo Departamento em: 5-8-2020

  1. Identificação: Visualizar em PDF
    • Disciplina: INE5406 - Sistemas Digitais
    • Carga horária: 90 horas-aula      Teóricas: 54      Práticas: 36
    • Período: 1º semestre de 2020 até a presente data
  2. Curso(s):
    • Ciências da Computação (208)
    • Engenharia Eletrônica (235)
  3. Requisito(s):
    • Ciências da Computação (208)
      • EEL5105 - Circuitos e Técnicas Digitais
    • Engenharia Eletrônica (235)
      • EEL5105 - Circuitos e Técnicas Digitais
  4. Ementa:
    • Máquinas seqüenciais síncronas (Mealy e Moore) e sua representação (diagramas de transição e descrição em HDL). Síntese de circuitos seqüenciais (minimização e codificação de estados). Mapeamento e alternativas de implementação de máquinas de estado ("hardwired", PLA, ROM e PLD). Estudos de casos: controladores de memória, de interrupção, de DMA. Simulação de sistemas digitais descritos em HDL no nível de transferência entre registradores. CPU vista como um sistema digital (datapath e unidade de controle). Unidade de controle de uma CPU simples ("hardwired" e microprogramada).
  5. Objetivo(s):
    • Geral: Abordar aspectos da implementação física dos sistemas computacionais, complementando os assuntos abordados pela disciplina pré-requisito (EEL 5105 - Circuitos e Técnicas Digitais).
    • Específicos:
      1. Introduzir o modelo clássico de sistema digital (datapath x controle), relacionando-o com a organização de processadores.
      2. Estudar os princípios do projeto de sistemas digitais no nível RT (transferência entre registradores).
      3. Familiarizar o aluno com a descrição de sistemas digitais no nível RT.
      4. Familiarizar o aluno com o uso de uma linguagem de descrição de hardware (HDL) e com o fluxo de projeto de sistemas digitais, visando sua implementação em FPGAs.
      5. Fornecer ao aluno uma visão geral dos elementos envolvidos na exploração do espaço de soluções no projeto de sistemas digitais.
  6. Conteúdo Programático:
    • Formas de implementação de sistemas digitais. [3 horas-aula]
      • Soluções masked.
      • Componentes configuráveis (PLDs, SPLDs e FPGAs).
    • Projeto de unidade lógico-aritmética (ULA). [6 horas-aula]
      • Adição de números sem sinal.
      • Adição de números com sinal.
      • O somador paralelo ripple-carry.
      • O subtrator.
      • Somador-subtrator.
      • Overflow.
      • Funcionamento e características temporais de registradores.
    • Máquinas seqüenciais síncronas. [21 horas-aula]
      • Sincronismo com sinal de relógio (período, freqüência, escorregamento).
      • Modelos de Moore e de Mealy: estrutura, representações do comportamento (equações de estados e de saídas, tabelas de transição, diagramas de estados).
      • Análise de circuitos seqüenciais síncronos.
      • Minimização e codificação de estados. Exemplos.
      • Mapeamento e alternativas de implementação de máquinas de estado: "hardwired", PLA, ROM e PLD.
      • Estudos de caso: controladores de memória, de interrupção e de DMA.
    • Projeto de sistemas digitais no nível de transferência entre registradores (RT). [24 horas-aula]
      • Componentes do nível RT.
      • O modelo clássico de sistema Digital: bloco operativo x bloco de controle (datapath x controle).
      • Estudos de caso e exploração do espaço de soluções.
      • Análise de custo x desempenho.
    • Uso de linguagem de descrição de hardware (HDL). [8 horas-aula]
      • Estudo de caso (VHDL): histórico, construções da linguagem, comandos, processos.
      • Projeto de sistemas digitais com ferramentas computacionais.
      • Descrição de circuitos combinacionais com HDL, síntese e simulação para FPGAs.
    • Descrição de circuitos seqüenciais com HDL. [12 horas-aula]
      • Síntese para FPGAs e simulação.
      • Estudos de caso.
    • Descrição de sistemas digitais no nível RT com HDL. [16 horas-aula]
      • Síntese para FPGAs e simulação.
      • Exploração do espaço de soluções.
  7. Bibliografia Básica:
    • HARRIS, David M.; HARRIS, Sarah L. Digital Design and Computer Architecture. Second edition. Waltham, MA, USA: Morgan Kaufmann Publishers, 2013. ISBN 978-0-12-394424-5 Disponível em https://www.sciencedirect.com/book/9780123944245/digital-design-and-computer-architecture
    • PATTERSON, David A.; HENNESSY, John L. Organização e Projeto de Computadores: a interface hardware/software. Rio de Janeiro: Elsevier, 2005. ISBN 85-352-1521-2
    • CHU, Pong P. RTL Hardware Design Using VHDL: coding for efficiency, portability, and scalability. Hoboken, N.J.: Wiley-Interscience, 2006. ISBN 0471720925 Recurso on-line disponível em: http://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=5237648
  8. Bibliografia Complementar:
    • VAHID, Frank. Sistemas Digitais: projeto, otimização e HDLs. Porto Alegre: Bookman, 2008. ISBN 978-85-7780-190-9
    • BROWN, Stephen; VRANESIC, Zvonko. Fundamentals of Digital Logic with VHDL Design. Third Edition. Boston, MA.: McGraw-Hill, 2009. ISBN 978–0–07–352953–0
    • PEDRONI, Volnei. Circuit Design with VHDL. Third edition. Cambridge, MA: MIT Press, 2020. ISBN 978-0-262-04264-2
    • ASHENDEN, Peter J. The Designer’s Guide to VHDL.
Third Edition. Burlington, MA .: Morgan Kaufmann Publishers , 2008. ISBN: 978-0-12-088785-9
 Disponível em: https://www.sciencedirect.com/book/9780120887859/the-designers-guide-to-vhdl