UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

INSTITUTO DE INFORMÁTICA

PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO

 

 

DISCIPLINA: CMP238 – Projeto e Teste de Sistemas VLSI

 

Carga Horária: 4/semana (Total de 60 horas-aula)     

Créditos: 4     

Pré-requisitos: -

Semestre: 2008/1

Professores: Fernanda G. de Lima Kastensmidt e Marcelo Soares Lubaszewski

 

OBJETIVOS

Este curso explora conceitos de projeto e teste de sistemas digitais complexos desenvolvidos como circuitos integrados de aplicação específica (ASICs) ou como circuitos programáveis (FPGAs). Ambas as soluções serão discutidas em termos econômicos, de desempenho, potência e flexibilidade. Além disso, aspectos de validação e teste de produção serão introduzidos ao longo do projeto. O objetivo é oportunizar ao aluno uma passagem pelos diversos níveis de síntese de um sistema digital através de um projeto realizado na disciplina.  O curso visa, ainda, capacitar o aluno a utilizar ferramentas de EDA (Eletronic Design Automation) para descrição, síntese e validação nas várias etapas de projeto.

 

SÚMULA

Projeto de sistemas VLSI, metodologias de projeto, projeto do bloco operacional e de controle, síntese lógica de alto nível , co-projeto de hardware e software, projeto e teste de um sistema concreto com uso intensivo de ferramentas de descrição, síntese e validação, etapas de teste no projeto de um CI, teste funcional e teste estrutural, modelo e simulação de falhas, geração de teste.

 

CONTEÚDO PROGRAMÁTICO:

 

Aula

Data

Semana

Projeto/Teste

Conteúdo

1

12/3

4f

Projeto – Fernanda

Aula1p.pdf

Introdução à disciplina, definição e metodologias de projeto de sistemas embarcados, diagrama Y, arquiteturas e plataformas para sistemas embarcados. Metodologia de projeto de sistemas digitais para ASIC e FPGA

2

14/3

6f

Projeto – Fernanda

Aula2p.pdf

Projeto de sistemas digitais: implementação de algoritmos em hardware (fluxograma ASM, particionamento parte operativa e parte de controle, tipos de implementação para parte operativa (barramento e multiplexadores) e parte de controle (memória ou máquina de estados) - Projeto parte operativa e parte de controle: paralelismo, desempenho x área

3

19/3

4f

Projeto – Fernanda

Aula3p.pdf

Linguagem de Descrição de Hardware (VHDL) – noções básicas e circuito combinacional

4

26/3

4f

Projeto – Fernanda

Aula4p.pdf

Linguagem de Descrição de Hardware (VHDL) – circuitos sequencias

5

28/3

6f

Projeto – Fernanda

 

Linguagem de Descrição de Hardware (VHDL) – circuitos sequencias

6

2/4

4f

Projeto – Fernanda

Aula5p.pdf     

Linguagem de Descrição de Hardware (VHDL) – maquinas de estados

7

4/4

6f

Teste – Marcelo

Aula1t.pdf

Por que testar? Economia do teste. Equipamentos de teste

8

9/4

4f

Projeto – Fernanda

 

Sintese e Simulação Funcional e Pos-sintese

9

11/4

6f

Projeto – Fernanda

Aula6p.pdf

Linguagem de Descrição de Hardware (VHDL) –testbench  (exemplos) (artigo)

10

16/4

4f

Projeto – Fernanda

 

Linguagem de Descrição de Hardware (VHDL) – Projeto parte operativa e parte de controle

raiz.zip

11

18/4

6f

Projeto – Fernanda

Aula7p.pdf

Uso de Banco de Registradores e Memórias (mem.zip)

Até aqui o aluno deverá ter construido o processador Neander (estudo de caso) em VHDL, simulado e sintetizado em FPGA e em uma biblioteca de celulas ASIC. Verificado área, desempenho e potência deste processador para FPGA e ASIC. {donwload passo a passo Neander_VHDL.pdf, documentos}

12

23/4

4f

Teste – Marcelo

Aula2t.pdf

Conceitos básicos: defeitos, modelos de falhas, diferença das falhas em ASIC e FPGAs

13

25/4

6f

Teste – Marcelo

Aula3t.pdf

Injeção e simulação de falhas em VHDL, emulação em placas de prototipação..

14

30/4

4f

Teste – Marcelo

Aula4t.pdf

Análise de testabilidade: controlabilidade, observabilidade

15

7/5

4f

Teste – Marcelo

Aula5t.pdf

Geração de teste: por simulação de falhas, exaustiva, pseudo-aleatória, determinística

16

9/5

6f

Teste – Marcelo

Aula6t.pdf

Diagnóstico de falhas. Dicionários de falhas.

Até aqui o aluno deverá ter capaz de identificar, injetar e analisar a cobertura de falhas em um circuito. Inserir cadeias scan usando ferramenta apropriada e medir cobertura e tempo de teste.

17

14/5

4f

Projeto e Teste: Fernanda e Marcelo

Seminário da andamento do trabalho: Entrega parte 1 – motivação, projeto e desenvolvimento

18

16/5

6f

Projeto e Teste: Fernanda e Marcelo

Seminário da andamento do trabalho: Entrega parte 1 – motivação, projeto e desenvolvimento

19

21/5

4f

Projeto – Fernanda

Aula19p.pdf

Otimizações no projeto de sistemas digitais: paralelismo, desempenho x área

Até aqui o aluno deverá ter construido um Sistema PO-PC otimizado em VHDL, sintetizado em FPGA e ASIC e comparado área, desempenho e potência. {donwload passo a passo POPC_VHDL.pdf}

21

23/5

6f

 

PROVA parte Projeto

22

28/5

4f

 

PROVA parte Teste

23

4/6

4f

Teste – Marcelo

Aula7t.pdf

Projeto visando a testabilidade. Full scan. Partial scan.

24

6/6

6f

Teste – Marcelo

Aula8t.pdf

O padrão industrial baseado na técnica boundary scan.

Até aqui o aluno deverá ter capaz compreender o teste e projeto de SoC e NoC e a importancia das etapas de projeto e teste destes sistemas

25

11/6

4f

Projeto – Fernanda

Aula24p.pdf

Uso de Processadores embarcados com hardware dedicado

26

13/6

6f

Projeto – Fernanda

Aula25p.pdf

Uso de Processadores embarcados com hardware dedicado

27

18/6

4f

Projeto – Fernanda

Aula26p.pdf

Protocolos de Comunicação Assíncronos para comunicação entre modulos

28

20/6

6f

Projeto – Fernanda

Aula27p.pdf

Potencia em FPGA e ASIC

29

25/6

4f

Projeto – Fernanda

Aula28p.pdf

Revisão e preparação para os trabalhos

Até aqui o aluno deverá ter capaz de implementar um software no processador embarcado do FPGA e comunicar esse processador com um bloco dedicado implementado nos CLBs.  {donwload passo a passo PowerPC+bloco_VHDL.pdf} (www.inf.ufrgs.br/~cpilotto

30

27/6

5f

Projeto e Teste: Fernanda e Marcelo

Apresentação dos Projetos: Entrega parte 2 – resultados, comparações e conclusões

31

28/6

6f

Projeto e Teste: Fernanda e Marcelo

Apresentação dos Projetos: Entrega parte 2 – resultados, comparações e conclusões

 

Metodologia:

Aulas expositivas e práticas e trabalhos práticos com uso de ferramentas de síntese e simulação de descrição lógica de alto nível

 

AVALIAÇÃO:

 

1 Provas e 1 trabalho (projeto de um sistema digital com aplicações de teste)

 

BIBLIOGRAFIA 

 

WAGNER, F. R., PORTO, I. J., WEBER, R. F., WEBER, T. S.  Métodos de Validação de Sistemas Digitais.  Escola de Computação, 6. UNICAMP, 1988.

 

CARRO, Luigi. Projeto e Prototipação de Sistemas Digitais. Porto Alegre: Ufrgs, 2001.

 

AHMED A. JERRAYA, JEAN MERMET, "System-Level Synthesis," Kluwer Academic Publishers, 1999.

BALARIN et. al., "Hardware-Software Co-design of Embedded Systems. The POLIS Approach," Kluwer Academic Publishers, 1997.

LIPSETT, R. et al.  VHDL: Hardware Description and Design.  Kluwer Academic Publishers, 1989.

GAJSKI, D. et al.  High-Level Synthesis: Introduction to Chip and System Design.  Kluwer, 1992.

D. GAJSKI, F. VAHID, S. NARAYAN, J. GONG, Specification and Design of Embedded Systems, Prentice Hall, Englewood Cliffs, NJ, 1994, 450 pages.

BUSHNELL, M. and AGRAWAL, V. Essentials of Electronic Testing for Digital, Memory, and Mixed-Signal VLSI Circuits. Kluwer Academic Publishers, 2001.

 

ABRAMOVICI, M.; BREUER, M.; FRIEDMAN, A. Digital Systems Testing and Testable Design. IEEE Press, 1990

 

LALA, P. Digital Circuit Testing and Testability. Academic Press, 1997.

 

Softwares Utilizados

·                Xilinx ISE 8.1 e EDK  (WEB edition). Licenças gratuitas disponíveis na página da Xilinx (www.xilinx.com).  Tutorial1,

·                Altera QuartusII WEB edition. Licenças gratuitas disponíveis na página da Altera (www.altera.com).

·                Simulador ModelSim (Mentor Graphics), versão estudante (www.modelsim.com)

·                Actel Libero (WEB Edition). Licenças gratuítas na página da Actel (www.actel.com)

·                Placas Digilent da Xilinx (www.digilent.com)

·                Sintese lógica – Leonardo da Mentor

Referencia VHDL http://www.nt-nv.fh-koeln.de/Labor/VhdlEnglish/index.html