ModelSim-Altera 6.6d
Transcrição
ModelSim-Altera 6.6d
LSCAD | André Luiz | junho 2011 ModelSim-Altera 6.6d Roteiro Motivação • Diretório • Criação de Projetos • Compilação • Simulação • Motivação • • • Ferramenta independete Maior acurácia Ferramenta robusta First Look Diretório • Mudar o diretório padrão para o diretório do seus projetos. File > Change Directory Criação de Projetos • Criação de projetos File > New > Project Criação de Projetos Criação de Projetos • • • Project Name: Nome do Projeto Project Location: Por padrão seu diretório principal Default Library Name: Por padrão work mas pode ser qualquer nome não usado até então. Obs: caso troque o nome, o usuário terá que mudar seu o código. Criação de Projetos • Adicionando novos itens ao projeto. Adiciona Arquivos novos Adiciona Arquivos já existentes Criação Projetos • Adicionando novos itens ao projeto. Pode também adicionar arquivos clicando com botão direito na janela de seu projeto: Add to Project > O que desejar adicionar. Criação Projetos • Uma vez adicionado, note que o status do arquivo fica como ‘?’ isto significa que o ModelSim não possui conhecimento do circuito gerado pelo arquivo fonte. Compilação • ModelSim possui compilador próprio, tornando-o independente. Compile > Compile All Compilação • Após compilação o Status do arquivo deverá estar marcado Checked, e uma mensagem será exibida no console. Simulação • • Simulação Manual: Neste tipo de simulação o usuário define passo a passo os valores dos sinais da simulação. Simulação por Scrips: O usuario define um arquivo .do que contem os valores dos sinais e este arquivo é carregado pelo ModelSim.( útil para simulação de grandes projetos). Simulação Simulate > Start Simulation Simulação Design tab: Lista todos os modelos disponíveis para simulação. • VHDL e Verilog tab: O usuario pode configurar/especificar particularidades da linguagem utilizada. • Library tab: O usuário pode incluir qualquer biblioteca adicional externa. • Simulação • Clicando em OK na janela Start Simulation o ModelSim três novas abas: Objects, sim e Processes. Simulação • A Aba sim contém, de forma hierárquica, os componentes do circuito carregado, monstrando seu tipo e a que unidade ela pertence. Simulação Manual • Clicando na instancia desejada e selecionando os sinais e adicione eles na Wave para sua simulação. Simulação Manual • Uma nova janela, Wave, aparecerá. Para separa-la das outras precione o botão Undock. Simulação Manual Simulação Manual • Primeiramente mude o zoom de sua Wave apertando R. Simulação Manual • Definindo o clock do circuito, basta clicar com o botão direito no sinal definido pelo usuário como clock > Clock... Simulação Manual Restart: Reinicia a simulação • Run: Roda Simulação pelo tempo definido no campo Run Length. • Continue: Continua a simulação do ponto onde parou. • Run –All: Começa a simulação • Break : Interrompe a simulaçao • Simulação Manual • Mudança do valor de um sinal. Simulação Manual Value: Valor cujo qual o usuário deseja atribuir ao sinal. • Kind: freeze, drive, deposit. • Delay For: Quanto tempo apos ter forçado o sinal o mesmo, deve alterar o valor. • Cancel After: Quanto tempo após a mudança do valor do sinal, o mesmo deve retornar ao seu valor original. • Simulação Manual Simulação Scrips • Imagine toda vez que o usuário fizer uma modificação 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. Simulação Scrips • Criando um arquivo .do. Simulação Scrips • Abrirá uma nova janela para a criação de seu arquivo .do. Simulação Scrips • Iniciando a simulação vsim <entity> Ex: vsim sirene • Adicionando sinais a wave add <local> <object> Ex: add wave chave add dataflow sirene Simulação Scrips • Modificação 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 forçado 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. Simulação Scrips Caso não escolha uma das três opções(freeze, drive, deposit) –freeze é escolhido por padrão. • -cancel <time>: cancela o comando force em exatamente <time> unidades de tempo. • -repeat <time>: repete o comando force até o final da simulação com intervalos de <time> unidades de tempo (pode ser cancelado pelo comando noforce). • Simulação Scrips • • <item_name>: O nome do sinal a ser forçado. <value>: valor desejado para o sinal. Value Descrição 1111 Literal 2#1111 Binario 10#15 Decimal 16#F Hexadecimal Simulação 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?