UFSC logo

Eduardo Augusto Bezerra, PhD
Embedded Systems and Space Applications

EEL logo

Home | Interests | Research | Teaching | Publications | Download

GSE | LISHA | Innalogics | Opportunities | Contact


EEL 4100 38 - Sistemas Digitais e Dispositivos Lógicos Reconfiguráveis

Período 2012/2


Curso: Programa de Pós-Graduação em Engenharia Elétrica - PPGEEL
Código da disciplina: EEL 4100 38
Carga horária: 60 horas-aula
Número de créditos: 3
Professores: Eduardo Augusto Bezerra e Djones Vinicius Lettnin

Horário das aulas:
  • Qui 8:20-11:50




Ementa

Conceitos introdutórios de sistemas digitais; Circuitos combinacionais e sequenciais; Projeto de sistemas digitais no nível de transferência entre registradores (RT); Modelo clássico de CPU com bloco de dados e bloco de controle; Dispositivos lógicos reconfiguráveis; Prototipação de sistemas digitais.



Objetivos

O cumprimento da disciplina busca proporcionar ao aluno, ao final do trimestre, condições de conhecer conceitos básicos relacionados à sistemas digitais e tecnologia para implementação em hardware reconfigurável (ferramentas e dispositivos). Será realizada uma revisão de circuitos combinacionais e seqüenciais, visando o projeto e implementação dos blocos de dados e de controle de unidades de processamento. Serão modelados e desenvolvidos estudos de caso utilizando uma linguagem de descrição de hardware, ferramentas de EDA (Electronic Design Automation) e uma plataforma de hardware para a prototipação de sistemas digitais reconfiguráveis.



Metodologia

  • O conteúdo programático será desenvolvido por meio de aulas expositivas com auxílio de recursos multimídia.
  • Aulas teóricas, expositivas, com slides preparados a partir do livro texto da disciplina
  • Exercícios teóricos a serem resolvidos em aula e extra-classe pelos alunos
  • Aulas práticas, em laboratório, onde os alunos seguirão tutoriais fornecidos pelo professor com instruções para utilização de ferramentas e placas de desenvolvimento
  • Leitura e discussão de artigos científicos clássicos e no estado da arte.
  • Apresentação de seminários preparados pelos alunos.
  • O material utilizado nas aulas práticas e teóricas será disponibilizado na página da disciplina e na plataforma Moodle.
  • Ao longo do curso, far-se-á uso de HDLs para descrever os circuitos e sistemas digitais apresentados.



Programa

  1. Introdução
    • Circuitos combinacionais
    • Circuitos sequenciais
    • Lógica reconfigurável
    • Fluxo de projeto de sistemas digitais com ferramentas de EDA
  2. Sistemas digitais e linguagens de descrição de hardware
    • Álgebra de Boole e funções booleanas
    • Codificadores, decodificadores, multiplexadores, demultiplexadores
    • Circuitos aritméticos, somadores, comparadores, contadores, deslocadores, multiplicadores
    • Unidade Lógico e Aritmética (ULA): síntese e simulação com uma linguagem de descrição de hardware
  3. Circuitos sequenciais e controladores
    • Latches e flip-flops
    • Finite State Machines (FSMs)
    • Projeto de controladores utilizando FSMs
    • Síntese de FSMs com uma linguagem de descrição de hardware
  4. Estudo de caso
    • Projeto do bloco de dados (data path) e do bloco de controle de uma unidade de processamento
    • Descrição no nível RTL (Register Transfer Level) de uma unidade de processamento utilizando uma linguagem de descrição de hardware
    • Simulação, síntese lógica, síntese física e prototipação em hardware da unidade de processamento



Avaliação

  • A média geral do trimestre (MT) é obtida a partir da média geométrica: MT = sqrt(S x T), onde S é a nota da preparação/apresentação dos seminários, e T é a nota do trabalho teórico/prático.
  • Condições para a aprovação: freqüência > 75% e MS >= 6,0



Bibliografia

  • Frank Vahid, "Sistemas Digitais: projeto, otimização e HDLs", Bookman, 2008.
  • Frank Vahid, "Digital Design", 1st ed., Wiley, 2007.
  • Randy Katz, Gaetano Borrielo, "Contemporary Logic Design"”, 2nd ed., Prentice Hall, 2005.
  • John P. Uyemura, "Sistemas digitais: Uma abordagem integrada", Thomson, 2002.
  • John F. Wakerly, "Digital design: Principles and practices", Prentice Hall, 2005.
  • Volnei A. Pedroni, “Circuit Design with VHDL”, The MIT Press, 2004.
  • Frank Vahid, "VHDL for Digital Design", 1st ed., Wiley, 2007.
  • Pong P. Chu, “FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version”, Wiley-Interscience, 2008.
  • David A. Patterson, John L. Hennessy, “Computer Organization and Design: The Hardware/Software Interface”, Morgan Kaufmann, 4th edition, 2008.
  • "Advancing the SystemC Analog/Mixed-Signal (AMS) Extensions - Introducing Dynamic Timed Data Flow"; Martin Barnasconi, Karsten Einwich, Christoph Grimm, Torsten Maehne, Alain Vachoux; September 2011.
  • "Electronic System Level Design: An Open-Source Approach"; Sandro Rigo, Rodolfo Azevedo, Luiz Santos.
  • "SystemC Synthesizable Subset"
  • "IP-XACT
  • "Open Verification Library (OVL)



Ferramentas e Materiais




Trabalho prático



Organização das aulas

Aula Data Conteúdo Recursos
1 14/06 Apresentação da disciplina. Introdução aos dispositivos lógicos reconfiguráveis. Introdução FPGAs
2 14/06 Questionário de nivelamento.
3 21/06 Introdução aos dispositivos lógicos reconfiguráveis (continuação) Lab 2 - VHDL
Lab 3 - I/O
Tutorial VHDL detalhado: VHDL Quartus II
Arquivo com pinagem da DE2
4 21/06 Circuitos combinacionais e introdução a síntese em VHDL Slides da Altera (PDF)
Enunciados dos exercícios (DOC)
Templates Quartus II (VHDL)
Soluções (VHDL)
5 28/06 Circuitos combinacionais e introdução a síntese em VHDL
6 28/06 Circuitos combinacionais e introdução a síntese em VHDL
7 05/07 Circuitos sequenciais e introdução a síntese em VHDL
8 05/07 Circuitos sequenciais e introdução a síntese em VHDL
9 12/07 Descrição do funcionamento de uma arquitetura multiciclo Capítulo 5 do Patterson
10 12/07 Descrição e início do desenvovimento do trabalho final
11 09/08 Introdução ao System C
12 09/08 Introdução ao System C
13 26/07 System C - Transaction-level modeling (TLM)
14 26/07 System C Verification Standard (SCV)
15 02/08 Diego Deótti: "FPGA architectural research: a survey"
Mateus Moreira: "Convergence in reconfigurable embedded systems"
Renan Starke: "A guide to migrating from microprocessor to FPGA: coping with the support tool limitations"
Vagner Guadagnin: "Reconfigurable computing architecture survey and introduction"
Roberto de Matos: "Modern fault tolerant architectures based on partial dynamic reconfiguration in FPGAs"
16 02/08 Tomas Grimm: "A modularized FPGA-based embedded system development platform"
Carlos Fronza: "Design of high speed data acquisition system based on FPGA and DSP"
Carlyle Santos Jr.: "Firmware Upgrade for the Data Acquisition System of the LabPET Small Animal PET Scanner"
Victor Martins: "Efficient absolute difference circuits in Virtex-5 FPGAs"
17 09/08 Diego Deótti: "Architecture of field-programmable gate arrays"
Renan Starke: "FPGA supercomputing platforms: A survey"
Mateus Moreira: "Applying Model-Checking to Post-Silicon-Verification: Bridging the Specification-Realisation Gap"
Tomas Grimm: "Low power State Machine design on FPGAs"
Roberto de Matos: "Roving STARs: an integrated approach to on-line testing, diagnosis, and fault tolerance for FPGAs in adaptive computing systems"
18 09/08 Vagner Guadagnin: "A CubeSat design to validate the Virtex-5 FPGA for spaceborne image processing"
Carlyle Santos Jr.: "Hw acceleration for FPGA-based drive controllers"
Victor Martins: "Area-efficient FPGA logic elements: Architecture and synthesis"
Carlos Fronza: "A biomimetic model for bats' echolocation signal processing and it's implementation on FPGA"
19 13/09 Entrega/apresentação do trabalho final
20 13/09 Entrega/apresentação do trabalho final


Artigos selecionados para apresentação de seminários em 2012/2