EEL 410038 – Sistemas Digitais e Dispositivos Lógicos Reconfiguráveis
Trimestre 2013/2
Curso: Programa de Pós-Graduação em Engenharia Elétrica
Código da disciplina: EEL 410038
Número de créditos: 3
Professores: Eduardo Augusto Bezerra e Djones Vinicius Lettnin
Horário das aulas
- Seg 13:00-16:20
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
- Introdução
- Circuitos combinacionais
- Circuitos sequenciais
- Lógica reconfigurável
- Fluxo de projeto de sistemas digitais com ferramentas de EDA
- 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
- 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
- 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 + P)/2 ), onde T é a nota do trabalho teórico/prático, S é a nota da preparação/apresentação dos seminários, e P é a nota de uma prova.
- 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
- Slides do Frank Vahid: página do autor e cópia local
- Exercícios do Frank Vahid: exercícios para fixação dos conteúdos
- Apostila de sistemas digitais do Prof. Güntzel do INE/UFSC: http://www.inf.ufsc.br/~guntzel/isd/isd.html
- Slides da disciplina de técnicas digitais do Prof. Güntzel do INE/UFSC: Página na UFPEL e versão local
- Software utilizado nas aulas práticas – “Quartus II Web Edition” da Altera. Para obter o software:
- Entrar no site da empresa Altera http://www.altera.com
- Entrar no “Download Center“, localizado no canto superior direito da página
- Na barra vertical do lado esquerdo, localizar o menu Archives e entrar no All Design Software
- Na tabela, coluna “Quartus II Web Edition”, selecionar “9.1 SP2“
- Opcionalmente, poderá ser utilizada a versão mais recente do Quartus II Web Edition
- Documentação e arquivos para o kit de ensino DE2 da Altera:
- Introdução ao kit DE2
- Manual do kit DE2
- Arquivo com a pinagem do FPGA do kit – Pinos.csv
- Exercícios de laboratório da Altera
- Lab. 1 da Altera – ver Aula 4 a seguir
- Lab. 2 da Altera – ver Aula 4 a seguir
- Ferramenta para ensino de sistemas digitais da UFRGS:
- Material sobre VHDL:
Trabalho prático
- Especificação do Trabalho Final: “Projeto e implementação em VHDL/FPGA de arquitetura com conjunto super-reduzido de instruções“
Organização das aulas de laboratório
Aula | Data – Hora | Conteúdo |
1 | 17/06 | Apresentação da disciplina. Introdução aos dispositivos lógicos programáveis. Material de apoio:[SLIDES LAB 1] – Fluxo Quartus II Esquemático
[SLIDES LAB 2] – Introdução a VHDL
– Introdução FPGAs (slides) – Capítulo 1, Tutorial esquemático detalhado
– Capítulo 2, Tutorial VHDL detalhado
– Manual DE2 – pinagem do FPGA |
2 | 24/06 | Sistemas digitais e síntese em VHDL para FPGAsSlides da Altera (PDF) Enunciados dos exercícios (DOC) Templates Quartus II (VHDL) Soluções (VHDL) |
3 | 01/07 | Sistemas digitais e síntese em VHDL para FPGAs |
4 | 08/07 | Sistemas digitais e síntese em VHDL para FPGAs |
5 | 15/07 | Sistemas digitais e síntese em VHDL para FPGAs- Exercícios na DE2: Multiplicador dos slides da Altera; Controlador da vending machine; Photoshop em hardware. |
6 | 22/07 | Revisão de C++ e Introdução ao SystemC |
7 | 29/07 | Descrição do funcionamento de uma arquitetura multiciclo.Descrição e início do desenvolvimento do trabalho final.
Material para a aula: Slides Patterson e Hennessy (“Chapter 1 – slide 8“, “Chapter 2 – slides 1-36; 48-80“; “Chapter 4 – slides 1-29“); Página Prof. Ney Calazans (ver BD_vhdl_exercicios.pdf e o_cleo.pdf); e Material Cleopatra. |
8 | 05/08 | Arquitetura esperada para o circuito do trabalho final (memória, I/O, BD, BC).Descrição de memória em VHDL (RAM e ROM). Simulador da Cleopatra. Exercícios 1 e 2 pg. 15. |
9 | 12/08 | Introdução ao SystemC |
10 | 19/08 | System C – Transaction-level modeling (TLM) |
11 | 26/08 | Apresentações de seminários:1:00-1:15 – Artigo 1, Tiago Franzen 1:15-1:30 – Artigo 1, Igor Cruz 1:30-1:45 – Artigo 1, Felipe Sabino 1:45-2:00 – Artigo 1, Douglas Melo 2:00-2:15 – Artigo 1, Julian Lopez 2:15-2:30 – Artigo 1, Adriano Pires 2:30-2:45 – Artigo 1, Luis Alves 2:45-3:00 – Artigo 1, Marcelo Zapella 3:00-3:15 – Artigo 1, Luiz Alberto Melek 3:15-3:30 – Intervalo 3:30-3:45 – Artigo 2, Tiago Franzen 3:45-4:00 – Artigo 2, Igor Cruz 4:00-4:15 – Artigo 2, Felipe Sabino 4:15-4:30 – Artigo 2, Douglas Melo 4:30-4:45 – Artigo 2, Julian Lopez 4:45-5:00 – Artigo 2, Adriano Pires 5:00-5:15 – Artigo 2, Luis Alves 5:15-5:30 – Artigo 2, Marcelo Zapella 5:30-5:45 – Artigo 2, Luiz Alberto Melek |
12 | 02/09 | [SBCCI’13] Desenvolvimento do trabalho final |
13 | 09/09 | Desenvolvimento do trabalho final |
14 | 10/09 | Entrega do trabalho final (Moodle) |
15 | 11/09 | Apresentação do trabalho final (agendar data/hora com os professores) |
Artigos selecionados para apresentação de seminários em 2013/2:
- Tiago Franzen
- FPGA architectural research: a survey; Brown, S.; IEEE Design & Test of Computers; Vol 13; issue 4; pp. 9; 1996.
- FPGA supercomputing platforms: A survey; Awad, M.; FPL 2009; pp. 564; Aug. 2009.
- Igor Cruz
- Architecture of field-programmable gate arrays; Rose, J. El Gamal, A. Sangiovanni-Vincentelli, A.; Proceedings of the IEEE; Vol. 81; Issue 7; Jul. 1993.
- Reconfigurable computing architecture survey and introduction; Azarian, A. Ahmadi, M.; ICCSIT 2009; pp. 269; 8-11 Aug. 2009.
- Felipe Sabino
- 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.
- 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.
- Douglas Melo
- Area-Efficient FPGA Logic Elements: Architecture and Synthesis
- Creation of Partial FPGA Configurations at Run-Time; Silva, M.L. Ferreira, J.C.; DSD 2010; pp. 80; Sept. 2010.
- Julian Lopez
- Low Power State Machine Design on FPGAs
- A CubeSat Design to Validate the Virtex-5 FPGA for Spaceborne Image Processing
- Adriano Pires
- Design of high speed data acquisition system based on FPGA and DSP; Zhang Baofeng Wang Ya Zhu Juncha ; ICAie 2010; pp. 132; Oct. 2010.
- A Real/Complex Logarithmic Number System ALU; Arnold, M.G. Collange, S.; IEEE Transactions on Computers; pp. 202; Vol. 60 Issue 2; Feb. 2011.
- Luis Alves
- Hardware Design in Independent Experiment Platform on FPGA.
- Design and Implementation of HDLC Protocol and Manchester Encoding Based on FPGA in Train Communication Network.
- Marcelo Zapella
- A SystemC-Based Transaction Level Modeling of On-Chip-Bus
- Formal Techniques for SystemC Verification
- Luiz Alberto Melek
- SystemC-AMS high-level modeling of linear analog blocks with power consumption information
- Applying Model-Checking to Post-Silicon-Verification: Bridging the Specification-Realisation Gap
Conjunto de artigos:
- “FPGA architectural research: a survey“; Brown, S.; IEEE Design & Test of Computers; Vol 13; issue 4; pp. 9; 1996.
- “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.
- “A survey of dynamically reconfigurable FPGA devices“; Donthi, S. Haggard, R.L.; System Theory, 2003.; pp. 422; Mar. 2003.
- “Reconfigurable computing architecture survey and introduction“; Azarian, A. Ahmadi, M.; ICCSIT 2009; pp. 269; 8-11 Aug. 2009.
- “Convergence in reconfigurable embedded systems“; Valderrama, Carlos Jojczyk, Laurent Possa, Paulo; IEEE ICECS 2010; pp. 1144; 12-15 Dec. 2010.
- “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.
- “FPGA supercomputing platforms: A survey“; Awad, M.; FPL 2009; pp. 564; Aug. 2009.
- “Closing the SoC design gap“; Henkel, J.; Computer; Vol 36; issue 9; pp. 119-121; Sept. 2003.
- “Hw acceleration for FPGA-based drive controllers“; S. Ben Othman et. al.; ISIE 2010; pp. 196; Jul. 2010.
- “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.
- “Modern fault tolerant architectures based on partial dynamic reconfiguration in FPGAs“; Straka, M. Kastil, J. Kotasek, Z.; DDECS 2010; Apr. 2010.
- “Hardware design of independent experimental platform based on FPGA“; Hu Haoran Wu Jiani Zhang Fei; ICCSNA 2010; Jun. 2010.
- “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.
- “A modularized FPGA-based embedded system development platform“; Yu-Tsang Chang et. al.; IEEE IECON 2010; pp. 1697; Nov. 2010.
- “Creation of Partial FPGA Configurations at Run-Time“; Silva, M.L. Ferreira, J.C.; DSD 2010; pp. 80; Sept. 2010.
- “Low power State Machine design on FPGAs“; Saleem, A. Khan, S.A.; ICACTE 2010; Aug. 2010.
- “Design of high speed data acquisition system based on FPGA and DSP“; Zhang Baofeng Wang Ya Zhu Juncha ; ICAie 2010; pp. 132; Oct. 2010.
- “UCORE: Reconfigurable Platform for Educational Purposes“; F.J. Quiles et. al.; ReConFig 2010; Dec. 2010.
- “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.
- “Faults Coverage Improvement Based on Fault Simulation and Partial Duplication“; J. Borecky et. al.; DSD 2010; pp. 380; Sept. 2010.
- “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.
- “A biomimetic model for bats’ echolocation signal processing and it’s implementation on FPGA“; Binbin Cheng Fei Yang Jing Xu; ICSPS 2010; Jul. 2010.
- “Architecture of field-programmable gate arrays“; Rose, J. El Gamal, A. Sangiovanni-Vincentelli, A.; Proceedings of the IEEE; Vol. 81; Issue 7; Jul. 1993.
- “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.
- “A Real/Complex Logarithmic Number System ALU“; Arnold, M.G. Collange, S.; IEEE Transactions on Computers; pp. 202; Vol. 60 Issue 2; Feb. 2011.
- “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.
- “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.
- “A direct bitstream manipulation approach for Virtex4-based evolvable systems“; Cancare, F. Santambrogio, M.D. Sciuto, D.; ISCAS 2010; pp. 853; Jun. 2010.
- “Design of combinational logic training system using FPGA“; Sothong, S. Chayratsami, P.; IEEE Frontiers in Education (FIE); Oct. 2010.
- “Design and Implementation of HDLC Protocol and Manchester Encoding Based on FPGA in Train Communication Network“; Guozheng Li Nanlin Tan; ICIC 2010; pp. 105; Jun. 2010.
- “Firmware Upgrade for the Data Acquisition System of the LabPET Small Animal PET Scanner“; M.A. Tetrault et. al.; IEEE Transactions on Nuclear Science; pp. 556; Apr. 2010.
- “Applying Model-Checking to Post-Silicon-Verification: Bridging the Specification-Realisation Gap“; Dahmoune, O. de B Johnston, R.; ReConFig 2010; Dec. 2010.
- “Area-efficient FPGA logic elements: Architecture and synthesis“; J.H. Anderson, Qiang Wang; Design Automation Conference (ASP-DAC), 2011 16th Asia and South Pacific; pp. 369-375; Jan. 2011
- “Efficient absolute difference circuits in Virtex-5 FPGAs“;S. Perri, P. Zicari, P. Corsonello; MELECON 2010 – 2010 15th IEEE Mediterranean Electrotechnical Conference, pp. 309-313; Apr 2010
- “Roving STARs: an integrated approach to on-line testing, diagnosis, and fault tolerance for FPGAs in adaptive computing systems“; Abramovici, M.; Emmert, J.M.; Stroud, C.E.; The Third NASA/DoD Workshop on Evolvable Hardware, 2001, pp.73-92, 2001
- LEON3 ViP: A Virtual Platform with Fault Injection Capabilities
- SystemC Cosimulation and Emulation of Multiprocessor SoC Designs
- Transaction Level Modeling and Performance Analysis in SystemC of IEEE 802.15.4 Wireless Standard
- A SystemC-Based Transaction Level Modeling of On-Chip-Bus
- SystemC-AMS high-level modeling of linear analog blocks with power consumption information
- A Transaction Level Assertion Verification Framework in SystemC: An Application Study
- Induction-Based Formal Verification of SystemC TLM Designs
- SystemC-AMS model of a dynamic large-scale satellite-based AIS-like network
- Designing a Fault-Tolerant Satellite System in SystemC
- Formal Techniques for SystemC Verification
- to be defined…