Sie sind auf Seite 1von 17

Universidade Federal de Santa Catarina

Centro Tecnolgico
Departamento de Informtica e Estatstica
Curso de Graduao em Cincias da Computao

Sistemas Digitais
INE 5406

Aula 2-P
Projeto de Sistemas Digitais com Ferramentas EDA. Passos
do projeto com o Quartus II da Altera.
Introduo Linguagem VHDL: descrio de somadores,
sntese e simulao.

Prof. Jos Lus Gntzel


guntzel@inf.ufsc.br
www.inf.ufsc.br/~guntzel/ine5406/ine5406.html

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
O Quartus II da Altera
Desenvolvida pela Altera
Suporta apenas FPGAs da Altera
Possui verso para uso acadmico (Web Edition),
com licena grtis, vlida por aprox. 6 meses (obter em
www.altera.com link licensing)
Verso atual 8.0 SP1 (na aula, usaremos a 7.1 SP1)

EDA = Electronic Desgin Automation (Automao do Projeto Eletrnico)


INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.2

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
1.

2.
3.
4.
5.
6.
7.

Analisar o problema e estudar a especificao da soluo. criar


um sistema digital capaz de satisfazer especificao (Sntese no
nvel RT).
Descrever a soluo em VHDL (criar um projeto com um ou mais
arquivos VHDL).
Compilar o projeto para um determinado dispositivo FPGA
Anotar os dados resultantes da compilao: no de ALUTs, atraso
crtico, freqncia mxima
Verificar o projeto.
Gerar o arquivo de programao do FPGA.
Baixar o arquivo para placa (gravar em EPROM na placa onde
est o sistema com o FPGA).

INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.3

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Fluxo de Projeto com FPGAs
Entrada
do Projeto
Simulao
Funcional
Sntese
do Projeto

Verificao

Diviso

Relatrios
de Recursos
e Atraso

Implementao
do Projeto

do Projeto

Mapeamento
Roteamento
Back
Anotation

Gerao
de Programa

Simulao
de Tempo
Verificao
do Circuito

INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

Programao
do Dispositivo

slide 2P.4

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
Criar um Projeto:
1. File-> New ; escolher VHDL File; OK
2. Editar o arquivo VHDL
3. File -> Save As; completar o nome com exemplo1; OK
4. Clicar em create new project
5. Next
6. Escolher dispositivo Stratix II; Next
7. Specify the other EDA Tools no licar em nada; Next
8. Finish

INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.5

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
LIBRARY ieee;
USE ieee.std_logic_1164.all;

sel
a

ENTITY exemplo1 IS
PORT ( sel, a, b : IN BIT;
y : OUT BIT);
END exemplo1;

ARCHITECTURE comportamento OF exemplo1 IS


BEGIN
y <= (a AND (NOT(sel))) OR (b AND sel);
END comportamento;
INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.6

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
Compilar
1. Processing -> Start Compilation
2. Aguardar mensagem Quartus II Full Compilation Succesfull (ou
mensagem de erro)
3. Anotar
Nome (cdigo) do dispositivo escolhido automaticamente
Caminho crtico (pino de entrada/pino de sada) e seu atraso (Longest
tpd from souce pin )
Nmero de ALUTs utilizadas

INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.7

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
5. Verificar o projeto:
1.
2.
3.
4.

Criar arquivo de simulao


Definir formas de onda de entrada para a simulao
Salvar arquivos de simulao
Rodar a simulao e verificar se o resultado est
dentro do esperado

INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.8

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
Preparar Arquivo para Simulao Funcional
1. Criar o arquivo de simulao: New->New->Other Files->Vector
Waveform File
2. Clicar com boto 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 sadas): no Filter, selecionar Pins: all; clicar no boto
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 boto 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
INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.9

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
LIBRARY ieee;
USE ieee.std_logic_1164.all;

sel
a

ENTITY exemplo1 IS
PORT ( sel, a, b : IN BIT;
y : OUT BIT);
END exemplo1;

ARCHITECTURE comportamento OF exemplo1 IS


BEGIN
y <= (a AND (NOT(sel))) OR (b AND sel);
END comportamento;

INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.10

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
Preparao dos Estmulos para a Simulao
Tabela-verdade

sel

sel

sel

sel
A
B
Y

INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.11

Prof. Jos Lus Gntzel

Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
Executar a Simulao Funcional e Analisar o Resultado
1. Processing -> Start Simulation
2. Para medir tempos de atraso especficos: clicar com o boto da direita e
selecionar Time Bar -> Insert Time Bar

INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.12

Prof. Jos Lus Gntzel

Introduo Linguagem VHDL


Alguns Tipos de Dados em VHDL
tipo

valores

comentrio

boolean

{false, true}

Nativa da linguagem

bit

{0,1}

Nativa da linguagem

std_logic

{0, 1, - , Z}

Implementada no pacote std_logic_1164

std_logic_vector

{0, 1, - , Z}

Implementada no pacote std_logic_1164;


Vetor de std_logic

INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.13

Prof. Jos Lus Gntzel

Introduo Linguagem VHDL


Descrio de um Operador Aritmtico
Somador de 4 bits:

Com hierarquia
Usando 4 somadores completos de 1 bit
a3

c4

b3

SC3

a2

c3

s3
INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

b2

SC2

a1

c2

s2

b1

SC1
s1

slide 2P.14

a0

c1

b0

SC0

c0

s0
Prof. Jos Lus Gntzel

Introduo Linguagem VHDL


Somador Completo de 1 bit
a b

LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY somador IS
PORT (cin, a, b : IN STD_LOGIC;
s, cout : OUT STD_LOGIC);
END somador;

cout

cin

ARCHITECTURE comportamento OF somador IS


BEGIN
s <= a XOR b XOR cin;
cout <= (a AND b) OR (a AND cin) OR (b AND cin);
END comportamento;
INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.15

Prof. Jos Lus Gntzel

Introduo Linguagem VHDL


Somador de 4 bits (Nvel Mais Alto da Hierarquia )
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY somador4bits IS
PORT (c0, a3, a2, a1, a0, b3, b2, b1, b0 : IN STD_LOGIC;
s3, s2, s1, s0, c4 : OUT STD_LOGIC);
END somador4bits;
ARCHITECTURE estrutura OF somador4bits IS
SIGNAL c1, c2, c3: STD_LOGIC;
a3 b3
a2 b2
a1 b1
a0 b0
COMPONENT somador
PORT (cin, a, b : IN STD_LOGIC;
c4
c3
c2
c1
c0
s, cout : OUT STD_LOGIC);
SC3
SC2
SC1
SC0
END COMPONENT;
BEGIN
s3
SC0: somador PORT MAP (c0, a0, b0, s0, c1);
SC1: somador PORT MAP (c1, a1, b1, s1, c2);
SC2: somador PORT MAP (c2, a2, b2, s2, c3);
SC3: somador PORT MAP (c3, a3, b3, s3, c4);
INE/CTC/UFSC
slide 2P.16
ENDSistemas
estrutura;
Digitais - semestre 2008/2

s2

s1

s0

Prof. Jos Lus Gntzel

Introduo Linguagem VHDL


a3

Somador de 4 bits
BEGIN
SC0: somador PORT MAP (c0, a0, b0, s0, c1);
SC1: somador
PORT MAP (cin => c1,
a => a1,
b => b1,
s => s1,
cout => c2);
SC2: somador
PORT MAP (s => s2,
b => b2,
a => a2,
cin => c2,
cout => c3);
SC3: somador PORT MAP (c3, a3, b3, s3, c4);
END comportamento;
INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2

slide 2P.17

c4

b3

SC3
s3

a2
c3

b2

SC2
s2

a1
c2

b1

SC1

a0
c1

s1

b0

SC0
s0

Quando o mapeamento
dos pinos explcito, no
necessrio seguir a
ordem da declarao

Prof. Jos Lus Gntzel

c0

Das könnte Ihnen auch gefallen