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
Top Related