EEL 510231 – Sistemas Digitais e Dispositivos Lógicos Reconfiguráveis


Semestre 2015/1
Curso: Programa de Pós-Graduação em Engenharia Elétrica
Código da disciplina: EEL 510231
Número de créditos: 3
Professor: Eduardo Augusto Bezerra


Horário das aulas

  • Qua 17:00-20: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.


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(T x S), onde T é a nota do trabalho teórico/prático, e S é a nota da preparação/apresentação dos seminários.
  • 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 Conteúdo
1 [25/mar]
  • Apresentação da disciplina. Introdução aos dispositivos lógicos programáveis. 

Material de apoio:

2 [01/abr] Sistemas digitais e síntese em VHDL para FPGAs:

3 [08/abr] Sistemas digitais e síntese em VHDL para FPGAs:

4 [15/abr] Exercícios na DE2: Implementação do multiplicador dos slides da Altera.
5 [22/abr] Exercícios na DE2: Implementação do controlador da vending machine.
6 [29/abr] Exercícios na DE2: Implementação do controlador da vending machine; Photoshop em hardware.
7 [06/mai] Descrição do funcionamento de uma arquitetura multiciclo:

  • Exercício: Implementação em VHDL e simulação no ModelSim, da unidade de busca de instruções representada pelo diagrama de blocos do slide 13 do “Chapter 4″. O desenvolvimento do exercício, auxilia no entendimento dos demais slides (14 a 29), e também dos conceitos do MIPS apresentados durante a aula.
  • Descrição de memória em VHDL (RAM e ROM), para utilização no exercício proposto.
[13/mai] Descrição do funcionamento de uma arquitetura multiciclo:

  • Material para a aula: slides Patterson e Hennessy (“Chapter 4 – slides 14-29“).
  • Exercício: Implementação em VHDL e simulação no ModelSim do banco de registradores do slide 14.
  • Exercício: Implementação em VHDL e simulação no ModelSim da ALU do slide 14 (ver a tabela de operações da ALU no slide 21).
  • Exercício: Implementação em VHDL e simulação no ModelSim da memória de dados do slide 15.
[*20/mai] Descrição do funcionamento de uma arquitetura multiciclo:

  • Exercício: Implementação em VHDL e simulação no ModelSim do datapath apresentado no slide 19.
  • Exercício: Implementação em VHDL e simulação no ModelSim da datapath completo apresentado no slide 20.
10 [27/mai] Descrição do funcionamento de uma arquitetura multiciclo:

11 [03/jun]
12 [10/jun]
  • Simulador SPIM, e geração de código de máquina a partir de fonte em assembly para o MIPS.
  • Download SPIM: [source forge] ou [cópia local].
13 [17/jun]
  • Simulação da arquitetura desenvolvida, no ModelSim, utilizando o código objeto gerado pelo SPIM.
14 [24/jun] Apresentações de seminários.

Entrega do projeto final (Moodle).

Apresentação do projeto final.

15 [01/jul]  Encerramento.

Artigos para apresentação em 2015/1:

  1. Hung, E.; Quinton, B.; Wilton, S.J.E., “Linking the Verification and Validation of Complex Integrated Circuits Through Shared Coverage Metrics,” IEEE Design & Test, vol.30, no.4, pp.8,15, Aug. 2013.
  2. Subramanyan, P.; Tsiskaridze, N.; Wenchao Li; Gascon, A.; Wei Yang Tan; Tiwari, A.; Shankar, N.; Seshia, S.A.; Malik, S., “Reverse Engineering Digital Circuits Using Structural and Functional Analyses,” IEEE Transactions on Emerging Topics in Computing, vol.2, no.1, pp.63,80, March 2014
  3. Azcondo, F.J.; de Castro, A.; Brañas, C., “Course on Digital Electronics Oriented to Describing Systems in VHDL,” IEEE Transactions on Industrial Electronics, vol.57, no.10, pp.3308,3316, Oct. 2010.
  4. Abdallah, A.; Feron, E.M.; Hellestrand, G.; Koopman, P.; Wolf, M., “Hardware/Software Codesign of Aerospace and Automotive Systems,” Proceedings of the IEEE, vol.98, no.4, pp.584,602, April 2010.
  5. Brackenbury, L.E.M.; Plana, L.A.; Pepper, J., “System-on-Chip Design and Implementation,” IEEE Transactions on Education, vol.53, no.2, pp.272,281, May 2010.
  6. Guralnik, E.; Aharoni, M.; Birnbaum, A.J.; Koyfman, A., “Simulation-Based Verification of Floating-Point Division,” IEEE Transactions on Computers, vol.60, no.2, pp.176,188, Feb. 2011.
  7. FPGA architectural research: a survey“; Brown, S.; IEEE Design & Test of Computers; Vol 13; issue 4; pp. 9; 1996.
  8. Convergence in reconfigurable embedded systems“; Valderrama, Carlos Jojczyk, Laurent Possa, Paulo; IEEE ICECS 2010; pp. 1144; 12-15 Dec. 2010.
  9. 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.
  10. Closing the SoC design gap“; Henkel, J.; Computer; Vol 36; issue 9; pp. 119-121; Sept. 2003.
  11. 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.
  12. Architecture of field-programmable gate arrays“; Rose, J. El Gamal, A. Sangiovanni-Vincentelli, A.; Proceedings of the IEEE; Vol. 81; Issue 7; Jul. 1993.
  13. 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.
  14. A Real/Complex Logarithmic Number System ALU“; Arnold, M.G. Collange, S.; IEEE Transactions on Computers; pp. 202; Vol. 60 Issue 2; Feb. 2011.
  15. Design and Implementation of an Arithmetic Processor Unit Based on the Logarithmic Number System“; Carrillo, S. Carrillo, H. Viveros, F.; IEEE Latin America Transactions (Revista IEEE America Latina); Vol 8; issue 6; pp. 605; Dec. 2010.
  16. An HIL-Based Reconfigurable Platform for Design, Implementation, and Verification of Electrical System Digital Controllers“; Karimi, S. Poure, P. Saadate, S.; IEEE Transactions on Industrial Electronics; pp. 1226; Vol. 57 Issue 4; Apr. 2010.

Conjunto completo de artigos da disciplina: