Práticas para desenvolvimento de protótipos de circuitos ... · PDF...

Preview:

Citation preview

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

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

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

Prof. Sílvio Fernandes 3

INTRODUÇÃO

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

Prof. Sílvio Fernandes 29

FERRAMENTA QUARTUS II

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

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

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

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

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

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

Prof. Sílvio Fernandes 35

COMANDOS CONCORRENTES

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

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

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

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

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

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

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

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

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

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

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

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

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

Prof. Sílvio Fernandes 48

COMANDOS SEQUENCIAIS

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

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

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

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

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

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

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

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

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

Prof. Sílvio Fernandes 57

CIRCUITOS SÍNCRONOS

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

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

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;

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

Prof. Sílvio Fernandes 61

COMPONENTES

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

COMPONENTES

Declaração

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

Prof. Sílvio Fernandes 63

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

COMPONENTES

Exemplo:

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

Prof. Sílvio Fernandes 65

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;

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;

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

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

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

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

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

Prof. Sílvio Fernandes 72

KIT ALTERA DE2

KIT ALTERA DE2

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

Prof. Sílvio Fernandes 73

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

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

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

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

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

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

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

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

Recommended