aula 2-p - inf.ufsc.brj.guntzel/ine5406/sd_aula2p.pdf · aula 2-p simulação gate-level de um...
TRANSCRIPT
Universidade Federal de Santa Catarina Centro Tecnológico
Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação
Aula 2-P Simulação gate-level de um somador completo com o ModelSim.
Prof. José Luís Güntzel [email protected]
Colaboração: Vinícius Livramento (Est. Docência 2010/1) [email protected]
www.inf.ufsc.br/~guntzel/ine5406/ine5406.html
Introdução à Linguagem VHDL
Slide 2P.2 Prof. José Luís Güntzel INE/CTC/UFSC Sistemas Digitais - semestre 2011/1
LIBRARY ieee; USE ieee.std_logic_1164.all;
ENTITY somador1bit IS PORT (cin, a, b : IN STD_LOGIC; s, cout : OUT STD_LOGIC); END somador1bit ;
ARCHITECTURE comportamento OF somador1bit IS BEGIN s <= a XOR b XOR cin; cout <= (a AND b) OR (a AND cin) OR (b AND cin); END comportamento;
Exemplo: um Full Adder
s
a b
cout cin
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.3 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Fluxo de Projeto para FPGAs Descrição do SD em HDL
Análise da sintaxe
Síntese lógica
Mapeamento para o FPGA
Roteamento
Geração dos arquivos de relatórios
Compilação com o Quartus II
Simulação com o ModelSim
Definição de parâmetros
Definição dos estímulos
simulação
Análise do resultado
Ok? fim Sim Não
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.4 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Preparação dos Estímulos para a Simulação Solução trivial (ingênua): Transformar a tabela-verdade em formas de onda
cin a b cout s 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1
Observações: 1. Preencher a mão as waveforms (formas de onda) esperadas para as saídas para confrontá-la com o resultado da simulação. 2. T deve ser maior que “longest tpd” reportado pelo Quartus II.
Experimento 1: descrição/compilação e simulação de um SC
cout
s
b
a
cin
0 20 40 60 80 100 120
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.5 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
• A verificação será feita por meio de simulação no nível lógico com atrasos com a ferramenta ModelSim da Mentor Graphics, versão Altera. (O ModelSim chama este tipo de simulação de “gate level simulation”.)
• As próximas transparências mostram como configurar o ModelSim-Altera e como realizar a simulação.
Experimento 1: descrição/compilação e simulação de um SC
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.6 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Definir o caminho do Modelsim-Altera
Diretório Padrão: “C:\altera\91\modelsim_ase\win32aloem”
Obs: é possível que o caminho para o ModelSim-Altera já esteja definido.
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.7 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Abrir a ferramenta Modelsim-Altera
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.8 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Iniciar simulação “Gate-Level”
Selecionar o “somador1bit” e ir para a aba SDF
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.9 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Iniciar simulação “Gate-Level”
Selecionar o “somador1bit_vhd.sdo” Clicar “OK” para iniciar a simulação
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.10 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Alterar opções de simulação
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.11 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Adicionar os sinais às “waveforms”
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.12 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Alterar a unidade de tempo das “waveforms”
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.13 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Alterar o “zoom range” das “waveforms”
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.14 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Arquivo de estímulos de entrada
#força a entrada cin para 0 no tempo 0 ns #força cin para 1 no tempo 80 ns, repete a cada 160 ns force /cin 0 0 ns, 1 80 ns -r 160 ns force /a 0 0 ns, 1 40 ns -r 80 ns force /b 0 0 ns, 1 20 ns -r 40 ns
b
a
cin
0 20 40 60 80 100 120
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.15 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Criar novo arquivo de estímulos de entrada
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.16 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Salvar arquivo de estímulos de entrada
Nome do arquivo: “stimulus.do”
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.17 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Executar arquivo de estímulos de entrada
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.18 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Executar 100ns de simulação
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.19 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Executar mais 100ns de simulação
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.20 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Analisar os resultados da simulação
Capture a imagem das waveforms.
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.21 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Reiniciar a simulação
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.22 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Executar arquivo de estímulos de entrada
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.23 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Executar 100ns de simulação
Prof. José Luís Güntzel
Projeto de Sistemas Digitais com Ferramentas EDA
Slide 2P.24 INE/CTC/UFSC Sistemas Digitais - semestre 2010/2
Analisar os resultados da simulação