Português English
Contato

Lista de Disciplinas | CMP238

Projeto e Teste de Sistemas VLSI

Responsável: Fernanda Gusmão de Lima Kastensmidt
Pré-Requisitos: –
Carga Horária: 60 hs
Créditos: 4
Semestres Oferecidos: Primeiro semestre
Matrícula de Graduandos: A matricula deverá ser feita como Aluno Especial
Página da Disciplina: –

SÚMULA

Projeto de sistemas VLSI, metodologias de projeto, fluxograma ASM, linguagem de descrição de hardware, projeto do bloco operacional e de controle, síntese lógica de alto nível, co-projeto de hardware e software, projeto e verificação de um sistema concreto com uso intensivo de ferramentas de descrição, síntese e validação, modelo e simulação, verificação funcional.

OBJETIVOS

Este curso explora conceitos de projeto de sistemas digitais complexos desenvolvidos como circuitos integrados de aplicação específica (ASICs) ou como circuitos programáveis (FPGAs) usando linguagens de descrição de hardware. O fluxo de projeto e um conjunto de soluções serão discutidos em termos econômicos, de desempenho, potência e flexibilidade. Além disso, aspectos de validação e verificação de projeto serão introduzidos. 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.

PROGRAMA

1 Sistemas Digitais baseados em processadores, memorias e arquitetura parte de controle/parte
2 Sistemas de comunicação: barramentos, redes-intra-chip
3 Comunicação assíncrona, protocolo de hand-shake (2 e 4 fases, single and dual rail)
4 Noções de VHDL: atribuições concorrentes. Declaração e instanciação de componentes. Construção
5 Implementações em VHDL com simulação funcional e temporal
6 Noções de VHDL: atribuições seqüenciais.
7 Implementações em VHDL com simulação funcional e temporal
8 Circuitos aritméticos: projeto em VHDL e uso de módulos embarcados. Simulação funcional de
9 Descrição de máquinas de estados em VHDL. Síntese de maquinas de estado em VHDL:
10 Uso de Bancos de registradores e Memórias em FPGAs
11 Implementações de memórias em VHDL e em circuitos de prototipação.
12 Implementações de comunicação assíncrona em VHDL (A distância – entrega Moodle)
13 Fluxograma ASM (Algorithm State Machine). Exemplos de fluxogramas ASM
14 ASM de multiplicadores, extratores de raízes quadrada e cálculo de mínimo múltiplo comum
15 Projeto RTL: parte operativa (PO) e parte de controle (PC)
16 Apresentação trabalho 1 – Processador MIPS mono-ciclo com resultado da memoria em video
17 Apresentação trabalho 1 – Processador MIPS mono-ciclo com resultado da memoria em video
18 Otimizações para os fluxogramas ASM vistos anteriormente e implementação em VHDL
19 Implementação em VHDL de um sistema PC-PO e simulação funcional e temporal
20 Comparação de diversos projetos de Parte Operativa (PO) e Parte de Controle (PC) de algoritmos e
21 Pipeline em projetos de PC-PO
22 Circuitos de alto desempenho: inserção de pipeline na parte operativa. Exemplos.
23 Exemplo Fatorial com varias implementações
24 Testbenchs
25 Uso de assertions
26 Metodologias de Verificação funcional
27 Estudo de caso I de verificação funcional
28 Estudo de caso II de verificação funcional
29 Prova
30 Apresentação trabalho 2 – Projeto PC-PO (sorteio das duplas)

operativa. Circuitos programáveis (FPGAs), arquiteturas, roteamento interno, reconfiguração

de Testbenchs.

módulos.

codificação de estados, minimização de estados e escolha dos FFs.

suas descrições em VHDL RTL, versões Paralelo x Serial, Área x desempenho.

CRITÉRIOS DE AVALIAÇÃO

CRITÉRIOS DE AVALIAÇÃO O conceito final será obtido através de uma prova escrita (P) e de dois trabalhos T1 e T2, utilizando-se a seguinte ponderação:

Média = (P + T1 + T2) / 3

Será considerado aprovado o aluno que obtiver uma média final igual ou superior a 6.0 (seis), sem ter zerado nenhuma das notas. A apresentação e entrega dos trabalhos é obrigatória. A prova escrita é SEM consulta. A definição dos trabalhos está descrita na pagina da disciplina no Moodle.

BIBLIOGRAFIA

Livros texto:
Ramachandran, S. Digital VLSI Systems Design : A Design Manual for Implementation of Projects on FPGAs and ASICs Using Verilog, Dordrecht : Springer, 2007. <locação eletrônica:=”” http:=”” sabi.ufrgs.br=””>
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.
Roberto D´Amore. VHDL – Descrição E Síntese De Circuitos Digitais. Ltc. ISBN: 8521614527.
Materiais disponíveis em http://www.ele.ita.br/~damore/vhdl/

Livros complementares:
Brown, Stephen D. Fundamentals of digital logic with VHDL design. Boston : McGraw-Hill, c2009.
Ashenden, Peter J. The designer’s guide to VHDL. Burlington : Morgan Kaufmann, c2008.
Short, Kenneth L. VHDL for engineers. Upper Saddle River : Pearson Prentice Hall, c2009.
Vahid, Frank. VHDL for digital design. Hoboken, N.J. : John Wiley & Sons, c2007.
Pedroni, Volnei A. Circuit design with VHDL. Cambridge : MIT, c2004.
CARRO: L.Carro. Projeto e prototipação de Sistemas Digitais. Editora da UFRGS.
HAMBLEN: J.O.Hamblen, M.D.Furman. Rapid Prototyping of Digital Circuits. Kluwer.
HARRIS: D.Harris. Skew-Tolerant Circuit Design. Morgan Kaufmann.
LALA, P. Digital Circuit Testing and Testability. Academic Press, 1997.

Livros de apoio aos pré-requisitos de Circuitos Digitais:
Wagner, Flavio Rech, Ribas, Renato, Reis, André, Fundamentos de circuitos digitais. Porto Alegre, RS : Sagra Luzzatto, 2006.
Milos Ercegovac, Tomas Lang & Jaime Moreno. Introdução a Sistemas Digitais. Bookman.
Uyemura, John Paul. Sistemas digitais: uma abordagem integrada. São Paulo, SP : Thomson/Pioneira, 2002.
KATZ: Randy H. Katz. Contemporary Logic Design. Benjamin/Cummings Publishing Company, Inc. Redwood City, 1994.
M. Morris Mano & Charles R. Kime. Logic and Computer Design Fundamentals. Prentice Hall.

Livro de apoio a processadores:
Patterson, David A; John L. Hennessy. Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann Publishers. ISBN 1-55860-604-1.