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 |
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 |
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 |
Linguagem
de Descrição de Hardware (VHDL) – noções básicas e circuito
combinacional |
|
4 |
26/3 |
4f |
Projeto
– Fernanda |
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 |
Linguagem
de Descrição de Hardware (VHDL) – maquinas de estados |
|
7 |
4/4 |
6f |
Teste
– Marcelo |
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 |
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 |
|
11 |
18/4 |
6f |
Projeto
– Fernanda |
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 |
Conceitos
básicos: defeitos, modelos de falhas, diferença das falhas em ASIC e FPGAs |
|
13 |
25/4 |
6f |
Teste
– Marcelo |
Injeção e
simulação de falhas em VHDL, emulação em placas de prototipação.. |
|
14 |
30/4 |
4f |
Teste
– Marcelo |
Análise de
testabilidade: controlabilidade, observabilidade |
|
15 |
7/5 |
4f |
Teste
– Marcelo |
Geração de
teste: por simulação de falhas, exaustiva, pseudo-aleatória, determinística |
|
16 |
9/5 |
6f |
Teste
– Marcelo |
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 |
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 |
Projeto
visando a testabilidade. Full scan. Partial scan. |
|
24 |
6/6 |
6f |
Teste
– Marcelo |
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 |
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