Campos - ondas e dispositivos eletromagnéticos
Campos - ondas e dispositivos eletromagnéticos
Fundamentos da programação orientada a objetos
Fundamentos da programação orientada a objetos
Fundamentos da programação orientada a objetos

-
Simulação de Projetos
O Quartus®II permite realizar simulações do projeto desenvolvido. Essas
simulações podem ser de dois tipos: funcional e de tempo.
A simulação funcional permite verificar se a funcionalidade do projeto
desenvolvido está correta, em outras palavras, a simulação funcional verifica a lógica
implementada. Por sua vez, a simulação de tempo verifica as características de
temporização, que são inerentes à construção interna do CPLD ou FPGA usado e da
forma como o projeto é construído dentro do chip, ou seja, simulação temporal verifica o
funcionamento real do projeto, considerando os atrasos das portas envolvidas.
O primeiro passo para simular é criar um arquivo de entradas de simulação. Esse
arquivo vai aplicar às entradas de sinais as condições possíveis de funcionamento de
forma que a saída possa ser então avaliada. Para criar um arquivo de simulação,
clique em File > New..., escolha o tipo de arquivo Vector Waveform File, e a janela da
figura 9 será aberta:
Figura 9 Janela do arquivo de simulação.
Nessa tela é possível a incluir os sinais de entrada e desenhar as formas de
ondas dos sinais aplicados. Para inserir sinais vá a Edit > Insert > Insert Node or
Bus... ou dê um clique duplo na tela em branco logo abaixo da coluna Name.
Fazendo isso, a tela da figura 10 será aberta:
Figura 10 Tela de inserção de variável para simulação.
Nesta tela, clique em Node Finder..., e a tela da figura 11 aparecerá:
Figura 11 Utilizando o Node Finder.
No campo Filter é possível escolher a categoria de sinais com os quais se deseja
trabalhar. O campo Look in informa qual projeto ou arquivo será usado. Por fim
clicando em List serão apresentados todos os sinais do projeto. Para ver todos os pins
disponíveis, selecione Pins: all no campo Filter. Para incluir um sinal na simulação,
selecione-o no campo Nodes Found e clique no botão “>” . Os sinais selecionados
serão transferidos para o campo Selected Nodes. Devem ser selecionados os sinais
de entrada, e os de saída, cujo resultado se deseja analisar. Uma vez que todos os
sinais tenham sido escolhidos, clique em Ok.
Antes de se iniciar a edição dos sinais de entrada, é necessário definir o tempo
total de simulação e o tamanho do grid. Para isso, inicialmente clique em Edit > End
Time..., a seguinte tela da figura 12 será aberta:
Figura 12 Definindo o tempo total de simulação.
Nesta janela, no campo Time pode-se definir o tempo total, no qual se deseja
analisar o comportamento do sistema projetado. Uma vez definido o tempo total de
simulação, clique em Edit > Grid Size..., e defina o tamanho do grid, ou seja, o
intervalo de tempo que será demarcado na tela do editor de forma de onda. A
utilização do grid facilita o trabalho de desenhar as formas de onda desejadas. A tela
do Grid Size é mostrada na figura 13.
Figura 13 Definindo o tempo de grid.
OBS: Para facilitar a visualização de eventos é interessante que o tempo total de
simulação e o tamanho do grid sejam da mesma ordem de grandeza.
Uma vez definidos estes itens, pode-se iniciar o processo de desenhar as formas
de onda. Para tal utiliza-se os botões encontrados na parte esquerda da tela de edição
de formas de onda, dos quais alguns são descrito na figura 14:
Escolha Functional no campo Simulation mode, dentro de Assignments >
Settings > + Simulator Settings. Em seguida selecione o arquivo de formas de onda no
campo Simulation Input. Por fim, clique em Ok.
Antes da simulação o projeto precisa ser compilado para a simulação funcional
pelo Processing > Generate Functional Simulation Netlist. Seguinte, para dar início
agora a simulação, clique em Processing > Start Simulation. Esses dois processos
podem demorar algum tempo.
Ao completar a simulação, uma nova janela semelhante a janela de edição de
forma de onda deve ser apresentada. Caso esta janela não apareça, clique em
Processing > Simulation Report.
Botão
Nome
Função
Zoom
Permite aumentar e diminuir o zoom da tela de tempo, isto é,
mudar a escala de tempo apresentado.
Clique com botão direito: aumenta o zoom
Clique com botão esquerdo: diminui o zoom
Edição de forma de
onda
Use essa ferramenta para selecionar o intervalo de tempo que
terá seu estado alterado. Uma vez selecionado esse intervalo,
os botões a seguir permitem alterar a forma de onda.
X
x*x
Desconhecido
0 estado do pino não é definido, permanece desconhecido
0
i_r
Nível lógico baixo
Força o pino para 0
i
J~L
Nível lógico 1
Força o pino para 1
z
Alta impedância
Mantém o pino em alta impedância
X5
Não importa (don't
care)
0 estado do pino não é definido.
XÊ
Contagem
Gera um contagem nos pinos. Só pode ser usado para
barramentos (conjuntos de pinos)
XÊ
Clock
Aplica um sinal de clock de freqüência definida.
Figura 14 Descrição dos botões do editor de forma de onda.
As figuras 15.a e 15.b mostram as telas do editor de formas de onda e do
Simulator Report, respectivamente, após a edição das formas de onda dos sinais de
entrada e da simulação do projeto proposto pelo exemplo.
(a)
(b)
Figura 15 Telas de simulação do exemplo proposto em (a) antes da simulação e (b) depois da simulação.
-
Definição dos pinos de I/O
Depois de criado e simulado, deve-se definir a qual pino físico do FPGA cada pino do
esquemático está ligado. Para isso clique em Assignments > Pins. Abrirá a janela
da figura 16, que permite definir a ligação entre os pinos físicos e os pinos do diagrama.
Figura 16 Definição dos pinos do FPGA.
Nessa tela é apresentada uma figura da pinagem do FPGA. Na coluna Node Name
estão listados os pinos presentes no projeto. Na coluna Direction está descrita a
direção desse pino. Na coluna Location, pode-se definir a qual pino físico estará ligado o
pino lógico. Para isso, dê um clique duplo em uma célula da coluna Location e escolha
o pino desejado na lista que aparecerá. Repita esse processo para todos os pinos.
Para validar a atribuição de pinos repita a compilação e observe se não ocorrem
erros.
-
Gravação no FPGA
Feita a associação dos pinos do FPGA, pode-se então gravar o projeto no
dispositivo lógico programável disponível. Clique em Tools > Programmer, abrindo a
tela da figura 17:
Figura 17 Programando o FPGA.
Na área de configuração apresentada, é preciso assegurar que as opções de
hardware estejam corretas, através do atalho Hardware Setup............. Caso não haja
nenhum hardware selecionado, em Add Hardware, selecione manualmente
ByteBlaster ou USBBlaster, conforme o gravador do kit utilizado.
Ainda é preciso marcar a opção Program/Configure. Outras opções como
verificação da gravação são também disponibilizadas. Clique em Start para iniciar
gravação. A janela de mensagens da tela principal do Quartus®II irá informar se a
gravação foi executada com sucesso. Caso isso ocorra, seu projeto já estará rodando no
FPGA.
Caso haja algum erro de gravação, verifique se os cabos estão corretamente ligados,
se o kit está ligado, o modelo de gravador está correto ou ainda se o modelo de CPLD está
correto.