Você está na página 1de 36

LSCAD | Andr Luiz | junho 2011

ModelSim-Altera 6.6d

Roteiro
Motivao
Diretrio
Criao de Projetos
Compilao
Simulao

Motivao

Ferramenta independete
Maior acurcia
Ferramenta robusta

First Look

Diretrio

Mudar o diretrio padro para o diretrio do


seus projetos.

File > Change Directory

Criao de Projetos

Criao de projetos

File > New > Project

Criao de Projetos

Criao de Projetos

Project Name: Nome do Projeto


Project Location: Por padro seu diretrio
principal
Default Library Name: Por padro work mas
pode ser qualquer nome no usado at ento.
Obs: caso troque o nome, o usurio ter que
mudar seu o cdigo.

Criao de Projetos

Adicionando novos itens ao projeto.

Adiciona Arquivos
novos

Adiciona Arquivos j
existentes

Criao Projetos

Adicionando novos itens ao projeto.

Pode tambm adicionar arquivos clicando com boto


direito na janela de seu projeto: Add to Project > O que
desejar adicionar.

Criao Projetos

Uma vez adicionado, note que o status do


arquivo fica como ? isto significa que o
ModelSim no possui conhecimento do
circuito gerado pelo arquivo fonte.

Compilao

ModelSim possui compilador prprio,


tornando-o independente.

Compile > Compile All

Compilao

Aps compilao o Status do arquivo dever


estar marcado Checked, e uma mensagem ser
exibida no console.

Simulao

Simulao Manual: Neste tipo de simulao o


usurio define passo a passo os valores dos
sinais da simulao.
Simulao por Scrips: O usuario define um
arquivo .do que contem os valores dos sinais e
este arquivo carregado pelo ModelSim.( til
para simulao de grandes projetos).

Simulao

Simulate > Start Simulation

Simulao
Design tab: Lista todos os modelos disponveis
para simulao.
VHDL e Verilog tab: O usuario pode
configurar/especificar particularidades da
linguagem utilizada.
Library tab: O usurio pode incluir qualquer
biblioteca adicional externa.

Simulao

Clicando em OK na janela Start Simulation o


ModelSim trs novas abas: Objects, sim e
Processes.

Simulao

A Aba sim contm, de forma hierrquica, os


componentes do circuito carregado,
monstrando seu tipo e a que unidade ela
pertence.

Simulao Manual

Clicando na instancia desejada e selecionando


os sinais e adicione eles na Wave para sua
simulao.

Simulao Manual

Uma nova janela, Wave, aparecer. Para


separa-la das outras precione o boto Undock.

Simulao Manual

Simulao Manual

Primeiramente mude o zoom de sua Wave


apertando R.

Simulao Manual

Definindo o clock do circuito, basta clicar com


o boto direito no sinal definido pelo usurio
como clock > Clock...

Simulao Manual
Restart: Reinicia a simulao
Run: Roda Simulao pelo tempo definido no
campo Run Length.
Continue: Continua a simulao do ponto onde
parou.
Run All: Comea a simulao
Break : Interrompe a simulaao

Simulao Manual

Mudana do valor de um sinal.

Simulao Manual
Value: Valor cujo qual o usurio deseja atribuir
ao sinal.
Kind: freeze, drive, deposit.
Delay For: Quanto tempo apos ter forado o
sinal o mesmo, deve alterar o valor.
Cancel After: Quanto tempo aps a mudana
do valor do sinal, o mesmo deve retornar ao
seu valor original.

Simulao Manual

Simulao Scrips

Imagine toda vez que o usurio fizer uma


modificao em seu projeto. Logo ele ter que
refazer todo esse processo para simular seu
projeto, isto demanda uma grande quantidade
de tempo diminuido sua produtividade.

Simulao Scrips

Criando um arquivo .do.

Simulao Scrips

Abrir uma nova janela para a criao de seu


arquivo .do.

Simulao Scrips

Iniciando a simulao
vsim <entity>
Ex: vsim sirene

Adicionando sinais a wave


add <local> <object>
Ex: add wave chave
add dataflow sirene

Simulao Scrips

Modificao do estado de um sinal.

Force [-freeze | -drive | -deposit] [-cancel <time>] [-repeat


<time>] <item_name> <value> [<time>] [, <value> <time> ...]

-freeze: Congela este sinal at que o mesmo


seja forado a outro valor OU pelo comando
noforce.
-drive: define um Driver para o sinal.
-deposit: define o valor para o sinal at que
algum driver mude seu valor OU pelo
comando noforce.

Simulao Scrips
Caso no escolha uma das trs opes(freeze,
drive, deposit) freeze escolhido por padro.
-cancel <time>: cancela o comando force em
exatamente <time> unidades de tempo.
-repeat <time>: repete o comando force at o
final da simulao com intervalos de <time>
unidades de tempo (pode ser cancelado pelo
comando noforce).

Simulao Scrips

<item_name>: O nome do sinal a ser forado.


<value>: valor desejado para o sinal.
Value

Descrio

1111

Literal

2#1111

Binario

10#15

Decimal

16#F

Hexadecimal

Simulao Scrips

Ex 1: force chave 1 ( force o sinal chave e congele-o em


1).
Ex: force clk 0 0, 1 {30ps} r 100 ps ( force o sinal clk de 0
com offset 0 para 1 e sua borda de descida em 30 ps, e
repita este comando no intervalo de 100 unidades de
tempo no saco ps.

Duvidas?

Você também pode gostar