81
PROF. SÍLVIO FERNANDES PRÁTICAS PARA DESENVOLVIMENTO DE PROTÓTIPOS DE CIRCUITOS DIGITAIS COM O KIT EDUCACIONAL DE2 UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

  • Upload
    dotuyen

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

P R O F . S Í L V I O F E R N A N D E S

PRÁTICAS PARA DESENVOLVIMENTO DE PROTÓTIPOS DE CIRCUITOS DIGITAIS COM

O KIT EDUCACIONAL DE2

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

Page 2: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

CRONOGRAMA DO CURSO

ATIVIDADE DATA DURAÇÃO

Inscrições 10/12/2012 a 14/12/2012

4 dias

Nivelamento em VHDL 19/12/2012 3 horas

Switches, luzes e multiplexadores 16/01/2013 3 horas

Números e displays 30/01/2013 3 horas

Latches, flip-flops e registradores 20/02/2013 3 horas

Contadores 06/03/2013 3 horas

Clocks e timers 20/03/2013 3 horas

Somadores, subtratores e multiplicadores

03/04/2013 3 horas

Máquinas de estado finitos 10/04/2013 3 horas

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 2

Page 3: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 3

INTRODUÇÃO

Page 4: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

INTRODUÇÃO

O que significa VHDL?

Very High Speed Integrated Circuit

Hardware

Description

Language

Linguagem de Descrição de Hardware com ênfase em

Circuitos Integrados de altíssima velocidade.

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 4

Page 5: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

INTRODUÇÃO

• Considerações Importantes

1. VHDL NÃO É uma linguagem de programação

2. O VHDL deve ser descrito após a arquitetura, e não a

arquitetura após o VHDL.

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 5

Page 6: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

INTRODUÇÃO

• Etapas de Projeto

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 6

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 7: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

INTRODUÇÃO

• Etapas de Projeto

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 7

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 8: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 8

COMPONENTES DE UM PROJETO VHDL

Page 9: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Package (Pacote): constantes, bibliotecas;

Entity (Entidade): pinos de entrada e saída;

Architecture (Arquitetura): implementações do projeto;

Configuration (Configuração): define as arquiteturas que

serão utilizadas.

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 9

PACKAGE

ENTITY

ARCHITECTURE

CONFIGURATION

Page 10: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Declaração da entidade

define portas de entrada e saída da descrição

equivalente ao símbolo de um bloco em captura esquemática

Arquitetura

descreve as relações entre as portas

equivalente ao esquema contido no bloco em cap. esquemática

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 10

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 11: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 11

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.all;

USE IEEE.STD_LOGIC_UNSIGNED.all;

PACKAGE (BIBLIOTECAS)

ENTITY exemplo IS

PORT (

<descrição dos pinos de I/O>

);

END exemplo;

ENTITY (PINOS DE I/O)

ARCHITECTURE teste OF exemplo IS

BEGIN

...

END teste;

ARCHITECTURE

(ARQUITETURA)

Page 12: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Declaração da entidade

OBS: o arquivo deve ser salvo com mesmo nome da entidade e extensão .vhd

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 12

Page 13: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Declaração da entidade

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 13

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 14: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Declaração da arquitetura

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 14

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 15: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Declaração da arquitetura

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 15

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 16: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Exemplo de uma descrição completa

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 16

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 17: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Exemplo de uma descrição completa

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 17

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 18: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Tipos de dados

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 18

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 19: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Tipos de dados

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 19

bit Assume valores ‘0’ ou ‘1’.

x: in bit;

bit_vector Vetor de bits.

x: in bit_vector(7 downto 0);

x: in bit_vector(0 to 7);

std_logic* x: in std_logic;

std_logic_vector x: in std_logic_vector(7 downto 0);

x: in std_logic_vector(0 to 7);

boolean Assume valores TRUE ou FALSE

Page 20: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Tipos de dados

STD_LOGIC:

Definida pela biblioteca IEEE:

use ieee.std_logic_1164.all;

Pode assumir nove valores:

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 20

‘U’: não inicializada ‘Z’: alta impedância

‘X’: desconhecida ‘W’: desconhecida fraca

‘0’: valor ‘0’ ‘L’: ‘0’ fraca (Low)

‘1’: valor ‘1’ ‘H”: ‘1’ fraca (High)

‘-’: Don’t care.

Page 21: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Tipos compostos

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 21

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 22: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Agregados

Uma expressão indicando o valor de um tipo composto

Cada elemento do tipo composto tem o seu valor definido

OTHERS

identifica todos elementos não especificados

deve ser a última associação na lista de associações

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 22

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 23: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Definição de Novos Tipos

Palavra reservada TYPE

Exemplo:

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 23

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 24: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Objetos de dados

Usados para representar e armazenar dados;

Três tipos básicos: constantes, sinais e variáveis;

Cada objeto possui um tipo de dados específico e um conjunto

de possíveis valores;

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 24

Page 25: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Objetos de dados

Constantes

Assumem apenas um valor em todo o código.

Declaração:

constant <identificador>: <tipo> := <valor>

Ex:

constant errado : boolean := False;

constant parte_ram : bit_vector(3 downto 0) := 1110;

Podem ser declaradas em qualquer parte do código

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 25

Page 26: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Objetos de dados

Sinais

Representam ligações entre elementos;

Comunicação de módulos em uma estrutura

Temporizados.

Declaração:

signal <identificador>: <tipo> [:= valor];

Ex:

signal fio1: std_logic;

sgnal fio2: std_logic := „1‟;

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 26

Page 27: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Objetos de dados

Variáveis

Utilizados para armazenar valores intermediários entre expressões;

Atribuição imediata;

Declaração:

variable <identificador>: <tipo> [:= valor];

Ex:

variable var1: integer;

variable var2: std_logic := „0‟;

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 27

Page 28: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES DE UM PROJETO VHDL

Objetos de dados

Atribuições a sinais ou variáveis

<= (atribuição de sinal)

:= (atribuição de variável)

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 28

Page 29: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 29

FERRAMENTA QUARTUS II

Page 30: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

FERRAMENTA QUARTUS II

www.altera.com

Usaremos a versão 9.2

Ambiente integrado com

Editor

Compilador

Simulador

Ferramenta de síntese

Licença gratuita para estudantes

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 30

Page 31: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

FERRAMENTA QUARTUS II

Criar um projeto

1. File-> New ; escolher “VHDL File”; OK

2. Editar o arquivo VHDL (copiar o exemplo1)

3. File -> Save As; completar o nome com “exemplo1.vhd”; OK

4. File ->“New Project Wizard”

5. Next

6. Escolher o diretório de trabalho e o nome do projeto

7. Adicione o(s) arquivos(s) vhd para o projeto

8. Escolher um dispositivo (Ex: Cyclone II)

9. “Specify the other EDA Tools” NÃO clicar em nada;

10. Finish

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 31

Page 32: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

FERRAMENTA QUARTUS II

Compilar o projeto

1. Processing -> Start Compilation ou

2. Aguardar mensagem “Full Compilation was succesfull” (ou

mensagem de erro)

3. Anotar

Nome (código) do dispositivo escolhido automaticamente

Caminho crítico (pino de entrada/pino de saída) e seu atraso

(“Longest tpd from souce pin …”)

Número de ALUTs utilizadas

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 32

Page 33: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

FERRAMENTA QUARTUS II

Preparar Arquivo para Simulação Funcional

1. Criar o arquivo de simulação: File-> New-> Verification/Debugging Files -> Vector Waveform File

2. Clicar com botão direito do mouse na coluna chamada “Name”

3. Escolher Insert -> Insert Node or Bus -> Node Finder

4. No Node Finder, selecionar os nomes dos sinais a serem observados (entradas e saídas): no Filter, selecionar “Pins: all”; clicar no botão “List”

5. Selecionar a, b, sel, out, clicar em “>” e em “OK”

6. “multiple items”; OK

7. Especificar as formas de onda para os sinais de entrada (a, b, sel), usando o “Waveform Editing Tool” (usar a lupa para aumentar/reduzir o zoom

8. Salvar o arquivo de forma de ondas com o mesmo nome do projeto: File-> Save As

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 33

Page 34: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

FERRAMENTA QUARTUS II

Executar a Simulação Funcional e Analisar os Resultados

1. Processing -> Start Simulation ou

2. Para medir tempos de atraso específicos: clicar com o botão da

direita e selecionar “Time Bar -> Insert Time Bar”

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 34

Page 35: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 35

COMANDOS CONCORRENTES

Page 36: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

O atraso delta

Atribuição de valor para um sinal

Construção WHEN ELSE

Construção WITH SELECT

Comando BLOCK

Comando PROCESS

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 36

Page 37: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

O atraso delta

Região de código concorrente:

ordem dos comandos não influencia no resultado final da simulação

Como é feito:

avaliação dos eventos simultâneos ordenada por um atraso interno D

O atraso Δ é nulo: Δ = 0

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 37

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 38: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

O atraso delta

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 38

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 39: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

Construção WHEN ELSE

Transferência condicional de um sinal

Contém: uma lista de condições e expressões

Primeira condição verdadeira: define expressão transferida

Formato:

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 39

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 40: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

Construção WHEN ELSE

Circuito Equivalente

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 40

Page 41: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

Construção WHEN ELSE

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 41

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 42: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

Construção WITH SELECT

Transferência condicional de um sinal

Contém: uma lista de opções

Todas as condições da expressão de escolha devem ser

consideradas

Não existe prioridade como acontece com WHEN ELSE

Opções pode ser agrupadas:

caracter |equivale a “ou”

TO e DOWNTO delimitam faixas de opções

Opções restantes: palavra reservada OTHERS

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 42

Page 43: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

Construção WITH SELECT

Formato:

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 43

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 44: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

Construção WITH SELECT

Exemplo:

Circuito Equivalente

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 44

Page 45: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

Construção WITH SELECT

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 45

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 46: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

Construção PROCESS

Objetivo: delimitar regiões de código sequencial

Início: palavra reservada PROCESS

Lista de sensibilidade: identifica que sinais ativam a execução do

processo

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 46

Comandos Sequenciais

Page 47: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS CONCORRENTES

Construção PROCESS

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 47

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 48: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 48

COMANDOS SEQUENCIAIS

Page 49: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS SEQUENCIAIS

Construção IF ELSE

Construção CASE WHEN

Comando NULL

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 49

Page 50: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS SEQUENCIAIS

Construção IF ELSE

Similar a construção WHEN ELSE

Execução condicional de um ou mais comandos sequenciais

Teste: definido por uma lista de condições

Condição de teste: qualquer expressão que retorno BOOLEAN

Formato:

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 50

Page 51: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS SEQUENCIAIS

Construção IF ELSE

Também é possível aninhar vários IF ELSE

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 51

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 52: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS SEQUENCIAIS

Construção IF ELSE

Exemplo:

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 52

Page 53: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS SEQUENCIAIS

Construção CASE

Similar a construção WITH SELECT

Execução condicional de um ou mais comandos sequenciais

A execução dos comandos: controlada pelo valor de uma

expressão

Todas condições da expressão de escolha devem ser

consideradas

Não existe uma prioridade como na construção IF ELSE

Opções podem ser agrupadas: caracter |equivale a “ou”

TO e DOWNTO delimitam faixas de opções

Opções restantes: palavra reservada OTHERS

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 53

Page 54: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS SEQUENCIAIS

Construção CASE

Exemplo

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 54

Page 55: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS SEQUENCIAIS

Construção CASE

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 55

Page 56: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMANDOS SEQUENCIAIS

Comando NULL

Não realiza nenhuma operação

A execução é passada para o próximo comando

Especialmente útil na construção CASE WHEN que precisa cobrir

todos os valores da expressão de escolha mas para alguns valores

não deve ser feito nada em um dado projeto

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 56

Page 57: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 57

CIRCUITOS SÍNCRONOS

Page 58: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

CIRCUITOS SÍNCRONOS

Dependem de um sinal de sincronismo

Clock: sinal digital que alterna entre 0 e 1 em um frequência constante

Exemplo: latch

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 58

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 59: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

CIRCUITOS SÍNCRONOS

Latch síncrono:

Registrador

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 59

Page 60: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

CIRCUITOS SÍNCRONOS

Em STD_LOGIC, usa-se rising_edge para transição de subida

de clock e falling_edge para transição de descida.

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 60

ARCHITECTURE behavior OF dff_logic IS BEGIN PROCESS(clk, reset) BEGIN IF reset = ‘1’ THEN q <= (others => ‘0’); ELSIF RISING_EDGE(clk) THEN q <= d; END IF; END PROCESS; END behavior;

Page 61: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 61

COMPONENTES

Page 62: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Uma descrição (entidade + arquitetura) empregada por

uma outra entidade

Emprego

Interligação de múltiplas entidades de projeto

Projeto hierárquico

Declaração de um componente

Similar a declaração de entidade

Solicitação de um componente

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 62

Page 63: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Declaração

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 63

Page 64: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Solicitação do componente

Mapa de ligações

Pode seguir mesma ordem estabelecida na declaração:

Pode seguir uma nova sequência definida no mapa:

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 64

Page 65: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Exemplo:

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 65

Page 66: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 66

Componente 1 Componente 2

--------------------------------------------------------- -- Arquivo componente_inv.vhd -- Modelo do inversor ---------------------------------------------------------

library IEEE;

use IEEE.std_logic_1164.all;

entity componente_inv is

port( x : in std_logic; y : out std_logic );

end componente_inv;

architecture arquitetura_inv of componen-

te_inv is

begin

y <= not x;

end arquitetura_inv;

--------------------------------------------------------- -- Arquivo componente_and.vhd -- Modelo da porta AND ---------------------------------------------------------

library IEEE;

use IEEE.std_logic_1164.all;

entity componente_and is

port( a : in std_logic; b : in std_logic; c : out std_logic );

end componente_and;

architecture arquitetura_and of com-

ponente_and is

begin

c <= a and b;

end arquitetura_and;

Page 67: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 67

Componente 3

------------------------------------------------------ -- Arquivo componente_sistema.vhd ------------------------------------------------------

library IEEE;

use IEEE.std_logic_1164.all;

entity componente_sistema is

port(

in1 : in std_logic;

in2 : in std_logic;

in3 : in std_logic;

in4 : in std_logic;

out1 : out std_logic );

end componente_sistema;

architecture arquitetura_sistema of componente_sistema is

component componente_and

port( a: in std_logic; b : in std_logic; c : out std_logic);

end component;

component componente_inv

port( x: in std_logic; y : out std_logic);

end component;

signal s1, s2, s3, s4 : std_logic;

begin

and1 : componente_and port map (a => in1, b => in2, c => s1);

and2 : componente_and port map (a => in3, b => in4, c => s2);

and3 : componente_and port map (a => s3, b => s4, c => out1);

inv1 : componente_inv port map (x => s1, y => s3);

inv2 : componente_inv port map (x => s2, y => s4);

end arquitetura_sistema;

Page 68: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Genéricos

Fornecem um meio de levar informações externas estáticas para

entidades de projeto e blocos

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 68

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 69: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Comandos GENERATE

Cópia de comandos concorrentes:

esquema de geração FOR

esquema de geração IF

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 69

Page 70: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Comandos GENERATE

Esquema de geração FOR

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 70

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 71: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

COMPONENTES

Comandos GENERATE

Esquema de geração IF

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 71

Fonte: Roberto d‟Amore -VHDL: Descrição e Síntese de Circuitos Digitais

Page 72: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 72

KIT ALTERA DE2

Page 73: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

KIT ALTERA DE2

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 73

Page 74: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

KIT ALTERA DE2

Instalando o driver USB Blaster

Quando o cabo USB da placa é colocado na porta USB do PC é

pedido para instalar o driver

Procure o diretório “altera” onde o Quartus foi instalado

Localize o subdiretório

altera\ 91sp2\quartus\drivers\usb−blaster

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 74

Page 75: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

KIT ALTERA DE2

Setando o dispositivo no Quartus II

No menu Assignments -> Device...

Escolha a família Cyclone II

Em seguida, o dispositivo EP2C35F672C6

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 75

Page 76: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

KIT ALTERA DE2

Ligando os pinos da placa DE2

Para fazer uso dos pinos da placa com assistência do arquivo de

ligação automática é necessário que a entidade do seu projeto

tenha os nomes padrões dos pinos da placa

Os nome e código dos pinos podem ser encontrados na tabela

do arquivo “DE2_Pin_Table.pdf”

Os principais são:

Chaves: SW(17 downto 0)

LEDs vermelhos: LEDR(17 downto 0)

LEDs verdes: LEDG(9 downto 0)

Botões de pressão: KEY(3 downto 0)

Display 7-segmentos: HEX0, HEX1, HEX2, HEX3, HEX4, HEX5, HEX6, HEX7

todos do tamanho (6 downto 0)

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 76

Page 77: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

KIT ALTERA DE2

Ligando os pinos da placa DE2

Em seguida deve ser feita a ligação automática dos pinos através

da importação do arquivo “DE2_pin_assignments.csv”

Para isso vá ao menu Assignments -> Import Assignments..

Procure o arquivo acima citado e clique em ok

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 77

Page 78: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

KIT ALTERA DE2

Fazendo dowload para a placa

Primeiro seu projeto deve ser compilado

Ligue o cabo USB na placa e no PC

Em seguida vá ao menu Tools -> Programmer

Se o driver USB Blaster não tiver sido detectado clique no botão

“Hardware Setup”

Adicione o USB Blaster

Selecione seu projeto com a extensão “.sof”

Clique em “start” para fazer o download para a placa

Agora pode usá-la com o comportamento do seu projeto

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 78

Page 79: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

KIT ALTERA DE2

Exemplo: “Hello Word”

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 79

Page 80: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

KIT ALTERA DE2

Exemplo: “Hello Word”

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 80

Page 81: Práticas para desenvolvimento de protótipos de circuitos ... · PDF fileINTRODUÇÃO O que significa VHDL? Very High Speed Integrated Circuit Hardware Description Language Linguagem

REFERÊNCIAS

• AMORE, Roberto d‟. VHDL: descrição e síntese de circuitos digitais. Rio de Janeiro: LTC, 2005.

• ALTERA. DE2 Development and Education Board User Manual. Version 1.0, 2005

• ALTERA. Getting Started with Altera‟s DE2 Board.

• ALTERA. Altera DE2 Board Pin Table.

Práticas para desenvolvimento de protótipos de circuitos digitais com o Kit Educacional DE2

Prof. Sílvio Fernandes 81