Beruflich Dokumente
Kultur Dokumente
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.
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)
slide 2P.2
Projeto de
Sistemas Digitais
com Ferramentas
Introduo
Linguagem
VHDL EDA
Passos do Projeto com o Quartus II
1.
2.
3.
4.
5.
6.
7.
INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
slide 2P.3
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
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
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;
slide 2P.6
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
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.
INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
slide 2P.8
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
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;
INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
slide 2P.10
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
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
valores
comentrio
boolean
{false, true}
Nativa da linguagem
bit
{0,1}
Nativa da linguagem
std_logic
{0, 1, - , Z}
std_logic_vector
{0, 1, - , Z}
INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
slide 2P.13
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
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
slide 2P.15
s2
s1
s0
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
c0