Você está na página 1de 12

Simulao VHDL

Baseado no Tutorial Affirma NC VHDL Simulator Tutorial Por Juan Pablo Martinez Brito 1.Introduo. --1.1->Cadence Desing System --1.2->Configurando o ambiente. 2.Preparando a descrio VHDL para a simulao(Nclaunch). --2.1->Compilando o VHDL. --2.2->Elaborando o VHDL. --2.3->Simulando o VHDL. 3.Trabalhando no ambiente de simulao(SimVision Analysis Enviroment). --3.1->Navegando no Desing. --3.2-> Selecionando sinais para monitora-los. --3.3->Rodando a simulao em formatos de onda. 4.Concluso 1-Introduo: 1.1-Cadence Desing System O sistema CADENCE composto por diversas ferramentas responsveis pela sntese fsica, sntese lgica,validao,teste de circuitos integrados,etc. Cada ferramenta chamada em separado para fazer sua determinada funo. Essa caracterstica um aspecto intrnseco ao Sistema Cadence. Isto ,ela trabalha particionadamente. No existe uma interface principal nica onde possa ser chamada cada ferramenta. E uma reunio de Softwares que tem uma ligao entre si ,mas, cada um com sua funcao. Por exemplo: No nosso caso ,onde queremos simular um cdigo Vhdl temos que fazer o seguinte: 1->Rodar o Nclaunch: Com este aplicativo consigo validar o meu cdigo para poder simulalo; isto ,compilo e elaboro.

2->Rodar o Ncsim(Simulador) Com este aplicativo consigo navegar na hierarquia do Desing, selecionar objetos,etc. Chamada de Simcontrol Window.

3->Finalizando,rodo o Signalscan Waveform para visualizar as formas de onda.

Todos os passos deste tutorial foram realizados partindo-se da descrio VHDL de um contador e seu referido Testbench:

Contador.vhd:
LIBRARY IEEE; USE IEEE.std_logic_1164.all; USE IEEE.std_logic_unsigned.all;

Testbench.vhd:
LIBRARY IEEE; USE IEEE.std_logic_1164.all; ENTITY testbench IS

ENTITY counter IS PORT( reset, clk : IN STD_LOGIC;

PORT( value : OUT STD_LOGIC_VECTOR( 7 downto 0 ) ); END testbench;

value : OUT STD_LOGIC_VECTOR( 7 downto 0 ) ARCHITECTURE counter_arq OF testbench IS ); COMPONENT counter IS END counter; PORT( reset, ARCHITECTURE counter_arq OF counter IS SIGNAL TMP : STD_LOGIC_VECTOR( 7 downto 0 ); BEGIN cont: PROCESS ( clk, reset ) begin if ( reset = '1' ) then tmp <= "00000000"; elsif ( clk'Event and clk = '1' ) then tmp <= tmp + 1; end if; end process; value <= tmp; END counter_arq; Reseting: PROCESS begin wait for 100 ns; RESET <= '1'; wait for 100 ns; RESET <= '0'; end process Reseting; CONT : counter PORT MAP ( RESET, CLK, value ); END counter_arq; clk : IN STD_LOGIC; value : OUT STD_LOGIC_VECTOR( 7 downto 0 )); END COMPONENT; SIGNAL CLK, RESET : STD_LOGIC; BEGIN Generate_clk: PROCESS begin wait for 10 ns; clk <= '1'; wait for 10 ns; clk <= '0'; end process Generate_clk;

12-Configurao do ambiente: Primeiramente preciso rodar o arquivo de configurao das ferramentas de CAD.
source /gme/cadtool/pub/LOGIN_GME

a. Crie um diretrio para rodar o Cadence.(no meu caso fiz: mkdir first). b. Criado o diretrio salve tanto o testbench.vhd como contador.vhd. c. Dentro do mesmo chame o Nclaunch: # nclaunch -new& {a opo -new quer dizer que voc quer comear um novo Design} d.Isso ir chamar a janela Open Design Directory: 1.->O primeiro campo a sede do Path do diretrio onde esto seus arquivos do tutorial(contador.vhd e testbench.vhd) 2.->O segundo campo diz a respeito de qual cds.lib voc vai usar(O que cds.lib?). 3.->O terceiro campo mostra qual biblioteca voc ira trabalhar.O que cds.lib?

O prximo passo criar o file cds.lib. e. Clique em New no segundo campo e ir aparecer a seguinte janela:

Clique em Save para criar o arquivo. Isso ir fazer com que aparea a janela Com ela voc pode escolher qual das bibliotecas do IEEE quer usar. Clique em OK. Agora preciso criar uma biblioteca de trabalho. f.Clique em New no terceiro campo da janela do passo 6 (Open Desing Directory) para criar uma nova biblioteca: No meu caso dei o nome a ela de first1 Clique OK nessa janela

Clique OK na janela Open Desing Directory com a biblioteca selecionada: Agora o diretrio corrente do tutorial contem o arquivo cds.lib e a janela principal do Nclaunch aparece.

Nesse ponto ela tem este jeito:

# 2.Preparando a descrio VHDL para a simulao. Compilando o VHDL A descrio VHDL deste tutorial precisa ser compilada na seguinte ordem: 1.->contador.vhd 2.->testbench.vhd Selecionando cada um voc pode Compilar diretamente Clicando no cone: Para Compilar o contador.vhd no h problemas. Mas para Compilar o testbench.vhd existe uma nica opo que precisa ser mudada. Com o arquivo selecionado: a.Selecione Tools-VHDL Compiler Aparecer a janela do Compilador VHDL. b.Selecione Enable VHDL 93 features e Clique OK. Isso setar a Opo e chamar o Compilador VHDL.O resultado da compilao aparecer na janela de Console.(Mensagem salva) Depois de ter Compilado voc pode Clicar no sinal de mais(+) em first1 no Navegador de Bibliotecas. Isso lista as unidades de VHDL j compiladas. # Elaborando o seu Design

Elaborar serve para construir uma hierarquia baseada nas informaes das instancias e configuraes do seu Design, estabiliza conexes entre sinais e computa os valores iniciais para todos os objetos existentes. Essa hierarquia armazenada no Snapshot de simulao. com ela que o simulador faz a simulao. Para elaborar: -a.Expanda a first1 no Navegador de bibliotecas. -b.Expanda o testbench. -c.Selecione o topo da hierarquia para o Desing(contador_arq). ->Neste tutorial o topo first1/testbench/counter_arq. Clique no cone do Launch Elaborator: Para essa operao no h opo a ser mudadaMensagem salva Concluindo essa etapa j esta pronto para a simulaao. # Simulando seu Design 1.Carregando para dentro do simulador. Com o ltimo passo (elaborar) foi criado uma unidade de simulao no Snapshot. Para chamar o simulador com o devido Snapshot: -a.selecione no snapshot a unidade first1.testbench:counter_arq. -b.Com isso Clique no cone do Launch Simulator:
Para essa operao tambm no h opo a ser mudada.

3.Trabalhando no ambiente de simulao(SimVision Analysis Enviroment). Primeiramente abrir a janela de controle(SimControl Window). Neste ponto ela tem esse jeito:

Voc pode diretamente rodar a simulao: <<<<S que para fazer sentido existem uns passos finais a serem feitos. >>>> # Navegando no Desing Para chamar o Navegador basta clicar no cone: Ele abrir no topo da hierarquia:

Clicando no `chipizinho` voc consegue navegar pela hierarquia. A direita mostrado os objetos. Com o boto direito voc consegue selecionar os objetos. Indo at o nvel mais baixo e selecionando todos os objetos:

Selecionando sinais para monitora-los. Com os objetos selecionados Clique no cone do Watch objects: Com isso voc poder monitorar os objetos:

Rodando a simulao em formatos de onda. Depois disso voc poder chamar o Signalscan Waves, clicando no cone: E ela j aparecera com os Objetos listados.

Voltando a janela de Controle(SimControl Window). Voc pode simular por completo. Pegando tudo:

Opinies e Sugestes podem ser enviadas para juan@inf.ufrgs.br.

Você também pode gostar