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 2011/1


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
Nome do professor: Eduardo Augusto Bezerra

Horário das aulas:
  • Seg 10:00-12:00
  • Ter 8:00-10:00




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.



Ferramentas e Materiais




Trabalho prático



Organização das aulas

Aula Data Conteúdo Recursos
1 14/03 Apresentação da disciplina; Conceitos básicos de sistemas digitais.
2 14/03 Questionário de nivelamento.
3 21/03 Introdução aos dispositivos lógicos reconfiguráveis - teoria Introdução FPGAs
4 21/03 Introdução aos dispositivos lógicos reconfiguráveis - prática (versão original no item "Documentação DE2" acima) Lab 1 - Sch
Lab 2 - VHDL
Lab 3 - I/O
5 28/03 Circuitos combinacionais e introdução a síntese em VHDL - teoria Slides da Altera (Intro VHDL)
6 28/03 Circuitos combinacionais e introdução a síntese em VHDL - prática Exercícios Altera (enunciado, template e soluções)
7 04/04 Circuitos sequenciais e introdução a síntese em VHDL - teoria Slides da Altera (Intro VHDL)
8 04/04 Circuitos sequenciais e introdução a síntese em VHDL - prática Exercícios Altera (enunciado, template e soluções)
9 11/04 Projeto de sistemas digitais e síntese em VHDL - teoria Slides da Altera (Advanced VHDL)
10 11/04 Projeto de sistemas digitais e síntese em VHDL - prática Exercícios Altera (enunciado, template e soluções)
11 18/04 Projeto de sistemas digitais e síntese em VHDL - teoria Slides da Altera (Advanced VHDL)
12 18/04 Projeto de sistemas digitais e síntese em VHDL - prática Exercícios Altera (enunciado, template e soluções)
13 25/04 Projeto de sistemas digitais e síntese em VHDL Lab 6
Lab 7
Lab 8
Lab 9
14 25/04 Definição do trabalho final.
15 02/05 Desenvolvimento do trabalho final.
16 02/05 Desenvolvimento do trabalho final.
17 09/05 Alison: "FPGA architectural research: a survey"; Brown, S.; IEEE Design & Test of Computers; Vol 13; issue 4; pp. 9; 1996.
Fabricio: "A guide to migrating from microprocessor to FPGA: coping with the support tool limitations"; E.A.Bezerra and M.P.Gough; Microprocessors and Microsystems; Vol 23; pp 561-572; March 2000.
Marcus: "A survey of dynamically reconfigurable FPGA devices"; Donthi, S. Haggard, R.L.; System Theory, 2003.; pp. 422; Mar. 2003.
Francieli: "Reconfigurable computing architecture survey and introduction"; Azarian, A. Ahmadi, M.; ICCSIT 2009; pp. 269; 8-11 Aug. 2009.
Bruno: "Convergence in reconfigurable embedded systems"; Valderrama, Carlos Jojczyk, Laurent Possa, Paulo; IEEE ICECS 2010; pp. 1144; 12-15 Dec. 2010.
Paulo: "Survey of New Trends in Industry for Programmable Hardware: FPGAs, MPPAs, MPSoCs, Structured ASICs, eFPGAs and New Wave of Innovation in FPGAs"; S.Z. Ahmed et. al.; FPL 2010; Aug. 31 2010-Sept 2 2010.
18 09/05 Gustavo: "FPGA supercomputing platforms: A survey"; Awad, M.; FPL 2009; pp. 564; Aug. 2009.
Felipe: "Closing the SoC design gap"; Henkel, J.; Computer; Vol 36; issue 9; pp. 119-121; Sept. 2003.
Jackson: "Hw acceleration for FPGA-based drive controllers"; S. Ben Othman et. al.; ISIE 2010; pp. 196; Jul. 2010.
Cladio: "A CubeSat design to validate the Virtex-5 FPGA for spaceborne image processing"; D. L. Bekker et. al.; IEEE Aerospace Conference; pp. 1; Mar. 2010.
Frederico: "Modern fault tolerant architectures based on partial dynamic reconfiguration in FPGAs"; Straka, M. Kastil, J. Kotasek, Z.; DDECS 2010; Apr. 2010.
19 16/05 Alison: "Hardware design of independent experimental platform based on FPGA"; Hu Haoran Wu Jiani Zhang Fei; ICCSNA 2010; Jun. 2010.
Francieli: "FPGA Design Methodology for Industrial Control Systems—A Review"; Monmasson, E. Cirstea, M.N.; IEEE Transactions on Industrial Electronics; Vol. 54; Issue 4; Aug. 2007.
Fabricio: "A modularized FPGA-based embedded system development platform"; Yu-Tsang Chang et. al.; IEEE IECON 2010; pp. 1697; Nov. 2010.
Bruno: "Creation of Partial FPGA Configurations at Run-Time"; Silva, M.L. Ferreira, J.C.; DSD 2010; pp. 80; Sept. 2010.
Gustavo: "Low power State Machine design on FPGAs"; Saleem, A. Khan, S.A.; ICACTE 2010; Aug. 2010.
Cladio: "Design of high speed data acquisition system based on FPGA and DSP"; Zhang Baofeng Wang Ya Zhu Juncha ; ICAie 2010; pp. 132; Oct. 2010.
20 16/05 Paulo: "UCORE: Reconfigurable Platform for Educational Purposes"; F.J. Quiles et. al.; ReConFig 2010; Dec. 2010.
Marcus: "iBoard: A highly-capable, high-performance, reconfigurable FPGA-based building block for flight instrument digital electronics"; He, Yutao Ashtijou, Mohammad; NASA/ESA AHS 2010; pp. 73; June 2010.
Frederico: "Faults Coverage Improvement Based on Fault Simulation and Partial Duplication"; J. Borecky et. al.; DSD 2010; pp. 380; Sept. 2010.
Felipe: "Rapid development of space applications with responsive digital electronics board and LabVIEW FPGA"; M. McMickell et. al.; NASA/ESA AHS 2010; pp. 79; June 2010.
Jackson: "A biomimetic model for bats' echolocation signal processing and it's implementation on FPGA"; Binbin Cheng Fei Yang Jing Xu; ICSPS 2010; Jul. 2010.
21 23/05 Entrega/apresentação do trabalho final
22 23/05 Entrega/apresentação do trabalho final


Demais artigos selecionados para apresentação de seminários em 2011/1