9
Página 1 de 9 Pontifícia Universidade Católica do Rio Grande do Sul Universidade Federal de Santa Catarina Centro Tecnológico - CTC Departamento de Engenharia Elétrica - EEL DEPARTAMENTO: Engenharia Elétrica CURSO: Engenharia Elétrica DISCIPLINA: Sistemas Digitais CÓDIGO: EEL 7020 CRÉDITOS: 04 (02 Teoria e 02 Prática) CARGA HORÁRIA: 72 horas-aula REQUISITOS: Pré-requisito: EEL 7010 – Introdução a Engenharia Elétrica EEL 7011 – Eletricidade Básica OFERTA: Engenharia Elétrica Engenharia de Controle e Automação Engenharia de Produção Elétrica VALIDADE: 2012/2 AUTOR: Prof. Eduardo Augusto Bezerra <[email protected]> Prof. Djones Vinicius Lettnin <[email protected]> OBJETIVOS: O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de: 1. Aprender conceitos relacionados a sistemas numéricos, álgebra de chaves e fundamentos da área de sistemas digitais. 2. Desenvolver a capacidade de análise de sistemas digitais de complexidade baixa ou média. 3. Entender metodologias de síntese de sistemas digitais de complexidade baixa ou média. 4. Projetar sistemas digitais de baixa complexidade em nível de RTL. 5. Projetar sistemas digitais usando linguagens de descrição de hardware. 6. Compreender o fluxo de ferramentas de auxílio ao projeto de sistemas digitais (simuladores, minimizadores, entre outros). 7. Conhecer dispositivos lógicos reconfiguráveis (FPGA, CPLD). EMENTA: Conceitos Introdutórios, Códigos e Sistemas de Números, Portas Lógicas e Álgebra Booleana, Circuitos Lógicos Combinacionais, Flip-Flops e Dispositivos Relacionados, Aritmética Digital: Operações e Circuitos, Contadores e Registradores, Famílias Lógicas, Circuitos Lógicos MSI, Memórias, Dispositivos Lógicos Programáveis.

Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Embed Size (px)

Citation preview

Page 1: Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Página 1 de 9

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Universidade Federal de Santa Catarina Centro Tecnológico - CTC

Departamento de Engenharia Elétrica - EEL

DEPARTAMENTO: Engenharia Elétrica CURSO: Engenharia Elétrica DISCIPLINA: Sistemas Digitais CÓDIGO: EEL 7020 CRÉDITOS: 04 (02 Teoria e 02 Prática) CARGA HORÁRIA: 72 horas-aula REQUISITOS: Pré-requisito: EEL 7010 – Introdução a Engenharia Elétrica

EEL 7011 – Eletricidade Básica OFERTA: Engenharia Elétrica Engenharia de Controle e Automação Engenharia de Produção Elétrica VALIDADE: 2012/2 AUTOR: Prof. Eduardo Augusto Bezerra <[email protected]> Prof. Djones Vinicius Lettnin <[email protected]> OBJETIVOS: O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de: 1. Aprender conceitos relacionados a sistemas numéricos, álgebra de chaves e fundamentos da

área de sistemas digitais. 2. Desenvolver a capacidade de análise de sistemas digitais de complexidade baixa ou média. 3. Entender metodologias de síntese de sistemas digitais de complexidade baixa ou média. 4. Projetar sistemas digitais de baixa complexidade em nível de RTL. 5. Projetar sistemas digitais usando linguagens de descrição de hardware. 6. Compreender o fluxo de ferramentas de auxílio ao projeto de sistemas digitais (simuladores,

minimizadores, entre outros). 7. Conhecer dispositivos lógicos reconfiguráveis (FPGA, CPLD). EMENTA:

Conceitos Introdutórios, Códigos e Sistemas de Números, Portas Lógicas e Álgebra Booleana, Circuitos Lógicos Combinacionais, Flip-Flops e Dispositivos Relacionados, Aritmética Digital: Operações e Circuitos, Contadores e Registradores, Famílias Lógicas, Circuitos Lógicos MSI, Memórias, Dispositivos Lógicos Programáveis.

Page 2: Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Página 2 de 9

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Universidade Federal de Santa Catarina Centro Tecnológico - CTC

Departamento de Engenharia Elétrica - EEL

CONTEÚDO PROGRAMÁTICO: UNIDADE: 01 CONTEÚDO: Introdução 1.1. Introdução aos sistemas digitais 1.2. Sistemas de numeração e códigos numéricos 1.3. Chaves e o transistor CMOS 1.4. Portas lógicas booleanas 1.5. Álgebra booleana 1.6. Representações de funções booleanas 1.7. Ferramentas para o projeto de sistemas digitais Nº DA UNIDADE: 02 CONTEÚDO: Circuitos combinacionais 2.1. Portas lógicas como blocos construtivos dos circuitos combinacionais 2.2. O processo do projeto lógico combinacional 2.3. Codificadores e decodificadores 2.4. Multiplexadores e demultiplexadores 2.5. Aritmética digital, operações e circuitos 2.6. Descrição de circuitos combinacionais usando linguagens de descrição de hardware UNIDADE: 03 CONTEÚDO: Circuitos sequenciais 3.1. Memória e armazenamento, latch SR, latch D, flip-flop D, outros flip-flops 3.2. Registradores baseados em flip-flops 3.3. Máquinas de estados finitos (FSM) 3.4. Projeto de blocos de controle

3.4.1. Modelagem da FSM 3.4.2. Criação da arquitetura padrão com registrador de estado 3.4.3. Codificação de estados 3.4.4. Tabela de estados 3.4.5. Implementação da lógica combinacional de saída e próximo estado

3.5. Descrição de circuitos sequenciais usando linguagens de descrição de hardware

Page 3: Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Página 3 de 9

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Universidade Federal de Santa Catarina Centro Tecnológico - CTC

Departamento de Engenharia Elétrica - EEL

Nº DA UNIDADE: 04 CONTEÚDO: Componentes de blocos de controle 4.1 . Registradores simples e multifuncionais 4.2 . Deslocadores 4.3 . Comparadores 4.4 . Contadores 4.5 . Unidades lógico-aritméticas (ULAs) Nº DA UNIDADE: 05 CONTEÚDO: Tecnologias habilitadoras do projeto de sistemas digitais 5.1. Circuitos integrados discretos 5.2. Dispositivos lógicos programáveis BIBLIOGRAFIA: • BÁSICA:

1. Frank Vahid, "Sistemas Digitais: projeto, otimização e HDLs", 1a ed., Porto Alegre: Bookman, 2008 ISBN 978-85-7780-190-9. http://bookman.com.br/WEB-PRODUTOS/produto_detalhe.aspx?id_produto=2414 – Disponível na biblioteca.

• COMPLEMENTAR:

1. Tocci, Ronald; Widmer, Neal; Moss, Gregory. Sistemas Digitais: Princípios e aplicações. Pearson, 2011. - Disponível na biblioteca.

2. Katz, Randy H., Contemporary Logic Design, 2nd ed., Prentice Hall, 2005.- Disponível na biblioteca.

3. Vahid, Frank, Digital Design, 1st ed., Wiley, 2007

Page 4: Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Página 4 de 9

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Universidade Federal de Santa Catarina Centro Tecnológico - CTC

Departamento de Engenharia Elétrica - EEL

AVALIAÇÃO:

MS = (MT + T)/2

onde: MS = Média do Semestre T = Nota do Trabalho Prático MT = Média da Teoria = ( P1 + P2 + P3) / 3 P1 = Prova 1 (teoria) P2 = Prova 2 (teoria) P3 = Prova 3 (teoria) A média do semestre (MS) é a média aritmética da nota do trabalho prático (T) com a média aritmética das provas da teoria (MT), arredondada para o meio ponto mais próximo (meio ponto superior, nos casos das frações ,25 e ,75). Condições para a aprovação:

• Sem avaliação final: [freqüência >= 75%] e [MS >= 6,0].

METODOLOGIA:

As aulas teóricas devem ser expositivas, utilizando-se de slides e de anotações no quadro de forma a destacar conceitos, exercícios e estudos de caso. As aulas de laboratório devem ser conduzidas de forma a consolidar os conceitos vistos na teoria.

O conteúdo programático proposto para a Unidade 1, deverá ser inteiramente coberto nas duas primeiras aulas teóricas. Os conceitos de portas lógicas dessa unidade são utilizados como exemplos de circuitos a nível de esquemático na primeira aula de laboratório, e a nível de linguagem de descrição de hardware (HDL) na segunda aula de laboratório. As ferramentas de projeto listadas na Unidade 1 são discutidas e praticadas nas duas primeiras aulas de laboratório.

A Unidade 2 deverá ser explorada em 5 aulas teóricas, e em 4 aulas de laboratório. As unidades 1 e 2 consistem na primeira parte da disciplina, sendo assim o conteúdo a ser cobrado na Prova 1 (P1).

A Unidade 3 deverá ser inteiramente apresentada em 6 aulas teóricas, sendo as 4 primeiras aulas logo após a Prova 1. Nessa unidade é importante ressaltar a importância dos elementos de memória na implementação dos circuitos controladores. Também deve-se destacar a abstração relacionada as máquinas de estados finitos (FSM). Esses assuntos devem ser amplamente praticados em 5 aulas de laboratório, destacando a importância da preparação dos alunos para o desenvolvimento do trabalho final.

A Unidade 4 deverá ser coberta em 2 aulas teóricas, e em 2 aulas de laboratório. Nas aulas de laboratório deverá ser explorada a utilização das máquinas de estado no projeto dos controladores dos blocos operacionais. A Prova 2 e 3 da teoria deverão cobrir as unidades 3 e 4, que consistem na segunda parte da matéria.

Page 5: Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Página 5 de 9

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Universidade Federal de Santa Catarina Centro Tecnológico - CTC

Departamento de Engenharia Elétrica - EEL

A Unidade 5 é coberta, naturalmente, em diversas aulas de laboratório, onde são utilizadas tecnologias para implementação dos sistemas digitais projetados.

O Trabalho Final do laboratório deverá explorar os conceitos trabalhados durante o semestre, incluindo os circuitos combinacionais e sequenciais. Basicamente, a cada semestre deverá ser proposto um problema onde venha a ser necessário projetar um circuito combinacional para realizar algum tipo de computação, e um circuito sequencial para controlar as atividades do bloco combinacional. O trabalho final deverá ser desenvolvido parcialmente como atividade extra-classe. Além disso, são reservadas 5 aulas de laboratório para os alunos serem supervisionados pelo professor durante as etapas de projeto.

O professor deverá manter uma página na Internet atualizada com o conteúdo das aulas, e disponibilizando os slides e exercícios utilizados. Deverão ser disponibilizados também os roteiros dos laboratórios, assim como as sugestões de soluções. As soluções deverão ser apresentadas na aula seguinte ao laboratório em questão. Sugere-se o uso do ambiente Moodle para disponibilização do material da disciplina. O Moodle poderá ser utilizado também como ambiente para esclarecer dúvidas dos alunos, favorecendo a interação com a turma em atividades extra-classe. Poderá ser criado um fórum de discussão onde os alunos tiram dúvidas entre si, com o professor e com o monitor. Além do Moodle, poderão ser utilizadas ferramentas tais como o Twitter para a divulgação de notícias sobre a disciplina.

Nas aulas de laboratório deverão ser utilizadas ferramentas modernas de modelagem e prototipação de sistemas digitais, tais como, ambientes de desenvolvimento compostos por softwares de síntese e simulação, e placas de prototipação com dispositivos lógicos reconfiguráveis.

Algumas ferramentas de apoio ao aluno consistem em: 1. Página da disciplina: http://lettnin.paginas.ufsc.br 2. Slides e material do livro texto (Frank Vahid): http://www.cs.ucr.edu/~vahid/dd/ 3. Software utilizado no laboratório "Quartus II Web Edition": http://www.altera.com 4. Ferramenta para ensino de sistemas digitais da UFRGS

http://www.inf.ufrgs.br/logics/docman/karma/ 5. Exemplos de componentes de hardware descritos em VHDL http://esd.cs.ucr.edu/labs/tutorial/ 6. Tutorial de VHDL: http://www.seas.upenn.edu/~ese201/vhdl/vhdl_primer.html

Page 6: Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Página 6 de 9

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Universidade Federal de Santa Catarina Centro Tecnológico - CTC

Departamento de Engenharia Elétrica - EEL

CRONOGRAMA:

Aulas teóricas Semana Data Capítulo do livro

texto Assunto

1 04/09 1 Discussão do programa da disciplina Introdução de Sistemas Digitais. Sistemas de numeração e Códigos

2 11/09 1 Álgebra Booleana, axiomas, teorema de Morgan e portas lógicas (em CMOS)

3 18/09 2 Mapas de Karnaugh

4 25/09 2 Circuitos combinacionais: Codificadores, Multiplexadores

5 02/10 2 Circuitos combinacionais: Somadores, subtradores

6 09/10 Prova 1 (P1) 7 16/10 3 Flip-flops

8 23/10 3 Circuitos sequenciais: Máquinas de estados finitos

9 30/10 3 Circuitos sequenciais: Síntese de circuitos sequenciais síncronos; Minimização de estados

10 06/11 3 Circuitos sequenciais: Síntese de circuitos sequenciais síncronos; Registradores e temporização

11 13/11 3 Circuitos sequenciais: Síntese de circuitos sequenciais síncronos; Modelos de Moore e de Mealy; Estudo de caso

12 20/11 Prova 2 (P2)

13 27/11 4 Codificação de estados e Blocos operacionais (datapath)

14 04/12 4 Bloco controle e bloco operacional

15 11/12 4 Bloco controle e bloco operacional: Estudo de caso

16 18/07 Prova 3 (P3)

Page 7: Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Página 7 de 9

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Universidade Federal de Santa Catarina Centro Tecnológico - CTC

Departamento de Engenharia Elétrica - EEL

Aulas de laboratório

Aula Data – Hora Turma Conteúdo

Lab 1

10/09 – 08:20 11/09 – 10:10 14/09 – 08:20 14/09 – 13:30 14/09 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

Apresentação da disciplina [SLIDES LAB 1] - Fluxo Quartus II Esquemático Material de apoio: - Tutorial esquemático detalhado: Esquemático Quartus II - Introdução FPGAs

Lab 2

17/09 – 08:20 18/09 – 10:10 21/09 – 08:20 21/09 – 13:30 21/09 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

[SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado: VHDL Quartus II - Introdução DE2, Manual DE2 - Pinos.csv

Lab 3

24/09 – 08:20 25/09 – 10:10 28/09 – 08:20 28/09 – 13:30 28/09 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

[SLIDES LAB 3] - VHDL, projeto top-down Material de apoio: - Fontes VHDL – link para os arquivos

Lab 4

01/10 – 08:20 02/10 – 10:10 05/10 – 08:20 05/10 – 13:30 05/10 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

[SLIDES LAB 4] - Circuitos Combinacionais: multiplexadores Material de apoio: - Testbench ModelSim

08/10 – 08:20 09/10 – 10:10 12/10 – 08:20 12/10 – 13:30 12/10 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

Dia 12/10, feriado. Nas demais aulas revisão dos labs anteriores.

Lab 5

15/10 – 08:20 16/10 – 10:10 19/10 – 08:20 19/10 – 13:30 19/10 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

[SLIDES LAB 5] - Circuitos Combinacionais: codificadores e conversores de código Material de apoio: - Testbench ModelSim

Lab 6

22/10 – 08:20 23/10 – 10:10 26/10 – 08:20 26/10 – 13:30 26/10 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

[SLIDES LAB 6] - Circuitos Sequenciais: processos, latches, flip-flops

29/10 – 08:20 2220A/2202E Dia 02/11, feriado.

Page 8: Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Página 8 de 9

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Universidade Federal de Santa Catarina Centro Tecnológico - CTC

Departamento de Engenharia Elétrica - EEL

30/10 – 10:10 02/11 – 08:20 02/11 – 13:30 02/11 – 15:10

2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

Nas demais aulas revisão dos labs anteriores. - Circuitos Sequenciais: processos, latches, flip-flops com kit do projeto http://fpgaparatodos.com.br [SLIDES LAB 6 Edson Melo]

Lab 7

05/11 – 08:20 06/11 – 10:10 09/11 – 08:20 09/11 – 13:30 09/11 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

[SLIDES LAB 7] - Circuitos Sequenciais: processos, registradores

12/11 – 08:20 13/11 – 10:10 16/11 – 08:20 16/11 – 13:30 16/11 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

Dia 16/11, dia não letivo. Nas demais aulas revisão dos labs anteriores.

Lab 8

19/11 – 08:20 20/11 – 10:10 23/11 – 08:20 23/11 – 13:30 23/11 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

[SLIDES LAB 8] - Circuitos Sequenciais: contadores - síntese de máquinas de estado (FSM)

Lab 9

26/11 – 08:20 27/11 – 10:10 30/11 – 08:20 30/11 – 13:30 30/11 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

[SLIDES LAB 9] - Blocos Operacionais: somadores Uso de “componentes” em VHDL – Parte I Material de apoio: Componente LCD e template, Simulador LCD, Datasheet LCD Testbench ModelSim

Lab 10

03/12 – 08:20 04/12 – 10:10 07/12 – 08:20 07/12 – 13:30 07/12 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

[SLIDES LAB 10] - Blocos Operacionais: projeto de calculadora Uso de “componentes” em VHDL – Parte II [SLIDES LAB 11] - Sistema Digital Completo: projeto de calculadora - Componentes operacionais e controlador

10/12 – 08:20 11/12 – 10:10 14/12 – 08:20 14/12 – 13:30 14/12 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

Desenvolvimento do trabalho final. Entrega da documentação e VHDL no Moodle.

Avaliação final

17/12 – 08:20 18/12 – 10:10 21/12 – 08:20 21/12 – 13:30 21/12 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

Semana de apresentação do trabalho final

Page 9: Universidade Federal de Santa Catarina Pontifícia ...deel.ufsc.br/files/2012/09/EEL7020.pdf · [SLIDES LAB 2] - Introdução a VHDL Material de apoio: - Tutorial VHDL detalhado:

Página 9 de 9

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA

Universidade Federal de Santa Catarina Centro Tecnológico - CTC

Departamento de Engenharia Elétrica - EEL

18/02 – 08:20 19/02 – 10:10 22/02 – 08:20 22/02 – 13:30 22/02 – 15:10

2220A/2202E 2202B/8213A 2220B/2202C 8213C/2202D 2202A/2220C

Discussão da implementação do trabalho final