Escolar Documentos
Profissional Documentos
Cultura Documentos
EL7710
LABORATRIO DE SISTEMAS A EVENTOS DISCRETOS
SISTEMAS A EVENTOS
DISCRETOS
Aula 1 Laboratrio
Autores:
Prof Dr Silvana Gasparotto de Souza
Prof. MSc. Pedro Luiz Benko
Revisor:
Prof. Dr. Valter Fernandes Avelino
1/50
Sumrio
1
2
3
4
5
6
7
Objetivo ............................................................................................................................... 3
Projeto de Sistemas Digitais utilizando FPGAs com o auxlio da ferramenta de
desenvolvimento ISE da Xilinx (Verso 9.2)...................................................................... 3
2.1 Introduo .................................................................................................................... 3
2.2 Criao de um Projeto ................................................................................................. 4
2.2.1 Criar um novo modelo de Entidade de Projeto (Design Entity) no ISE ............... 4
2.3 Descrio do Projeto em VHDL ................................................................................ 13
2.4 Navegao pela plataforma de trabalho ..................................................................... 14
2.4.1 Verificando erros na opo Syntesis/Implementation ........................................ 16
2.4.2 Sntese do Projeto em VHDL ............................................................................. 18
2.4.3 RTL Viewer ........................................................................................................ 19
2.5 Simulao Comportamental do Projeto em VHDL ................................................... 21
2.5.1
Configurao do arquivo de simulao .............................................................. 21
2.5.2 Elaborao do testbench waveform (formas de onda de teste) .......................... 26
2.6 Implementao do Projeto em VHDL ....................................................................... 29
2.6.1 Atribuio de Pinos (pin-out) ............................................................................. 29
2.6.2 Implementao do projeto .................................................................................. 31
2.6.3 Simulao de Timing Post-Route Simulation .......................................... 32
Programao do FPGA (Download) .............................................................................. 33
ANEXO A Janela Principal do Project navigator....................................................... 39
ANEXO B - Condio do processo Process Status ...................................................... 40
ANEXO C- Tipos de Processos. ....................................................................................... 41
ANEXO D Placa Didtica (Genesys)............................................................................. 42
7.1 Memria DD2 ............................................................................................................ 42
7.2 Memria Flash ........................................................................................................... 43
7.3 Porta Ethernet ............................................................................................................ 44
7.4 Sada de vdeo ............................................................................................................ 45
7.5 Sada de udio ............................................................................................................ 46
7.6 Porta serial ................................................................................................................. 46
7.7 Osciladores e clocks .................................................................................................. 46
7.8 GPIOS ........................................................................................................................ 47
7.9 Display alfanumrico ................................................................................................. 48
Exp 01- Atividade: Implementar e simular a Rede de Petri segura. ................................. 49
2/50
2.1 Introduo
Utilizando o ISE da Xilinx (Verso 9.2) e a linguagem VHDL, criar o projeto de uma rede de
Petri segura como exemplo.
Lembrando que: Uma rede de Petri dita segura a partir de uma marcao inicial M0, se e
somente se, todos os lugares da rede so demarcados com N=1, ou seja: Cada lugar da rede
pode conter apenas uma ou nenhuma marca para qualquer marcao possvel da rede.
O procedimento adotado ser semelhante para a criao de todos os projetos que sero
desenvolvidos na disciplina.
O diagrama da rede de Petri em questo est exibido seguir.
3/50
E0
At
E1
LED_0
Bt
LED_0
LED_1
E2
Ct
(A ou B) t
Fig. 1
LED_2
E3
Figura 2
4/50
escolher
o
diretrio
de
trabalho
C:\Alunos\Nome_do_Aluno;
d.2) Project Name inserir o nome do projeto AULA1_RPetri_seg;
d.3) Top-Level Source Type (o tipo de arquivo que descreve o nvel mais alto de
hierarquia do projeto) o tipo de arquivo HDL (Hardware Description
Language);
d.4) Selecionar < Next >;
Observaes:
d.1)
d.2)
d.3)
d.4)
5/50
d.1)
d.2)
d.3)
Colocado
automaticamente
aps efetuar o item
d.2)
d.4)
6/50
Figura 4
f) Na janela New Project Wizard Create New Source (Figura 5), selecionar < New
Source >.
Figura 5
g) Na janela New Source Wizard Select Source Type (Figura 6), selecionar e completar
os campos especificados abaixo, na devida ordem:
g.1) No quadro a esquerda, selecionar VHDL Module;
g.2) No campo File Name inserir o nome do arquivo: RPetri_seg;
g.3) Deixar a opo Add to project selecionada;
g.4) Selecionar < Next >.
7/50
g.2)
g.1)
g.3)
g.4)
Figura 6
h) Na janela New Source Wizard - Define Module (Figura 7), selecionar e completar os
campos especificados abaixo, na devida ordem:
h.1) Entity Name colocar RPetri_seg;
h.2) Architecture Name colocar PETRI_ARQ;
h.3) Esta janela possui uma tabela que nos permite definir os sinais externos de entrada e
sada (Interface com o ambiente externo) da nossa Entidade de Projeto. Basta
preencher a mesma de acordo com a figura abaixo;
h.4) Selecionar < Next >.
h.1)
h.2)
h.3)
h.4
))
Figura 7
8/50
Figura 8
j) Na janela New Project Wizard Create New Source (Figura 9), selecionar < Next >.
Figura 9
k) Na janela New Project Wizard Add Existing Sources (Figura 10), selecionar < Next >.
Apostila de Laboratrio de Sistemas a Eventos Discretos Aula 1
Prof Dr Silvana Gasparotto de Souza - Prof. MSc. Pedro L. Benko
9/50
Figura 10
Figura 11
m) Aps esta etapa, na janela do Project Navigator, denominada Sources Sources for:
Synthesis \ Implementation (Anexo A), aparecero os nomes referentes aos arquivos do
Modelo da Descrio em VHDL da Entidade do Projeto, modelo este que gerado
automaticamente pelo ISE, mostrando a estrutura hierrquica. Ainda nesta etapa, observar
que no diretrio de trabalho (C:\Alunos\Nome_do_Aluno) ser criado um subdiretrio
10/50
Apostila de Laboratrio de Sistemas a Eventos Discretos Aula 1
Prof Dr Silvana Gasparotto de Souza - Prof. MSc. Pedro L. Benko
Nome do
arquivo do
Projeto
Especificaes
da FPGA
xc5vlx50t-1ff1136
Declarao
da
Identidade
Figura 12
Arquitetura da
Identidade
Entidade do
Projeto
11/50
Workspace
Script em VHDL da
Entidade do Projeto
Figura 13
12/50
13/50
Salvar o
Projeto
Salvar o
Arquivo
Figura 14
*
Significa
Arquivo no salvo
Figura 15
14/50
Figura 16
Figura 17
15/50
c.1)
c.2)
c.3.1)
Figura 18
c.3.2)
O sub-processo
Check Syntax
foi concludo
com sucesso
c.1) selecionar o cone que faz referencia a descrio, em VHDL, da Entidade do Projeto;
c.2) Project Navigator Process, abrir o processo denominado Synthesize XST sub-item Check
Syntax.
16/50
c.2)
Figura 19
e) Para auxilio a correo, clique na aba inferior ERRORS e um descritivo do tipo do erro
apresentado, bem como a sua localizao no cdigo VHDL (Figura 20). Essa localizao no
muito precisa e talvez no aponte para o local exato, mas nas proximidades. Comece pelo primeiro
erro assinalado, pois frequentemente os demais erros so consequncia do primeiro.
Local do erro
Descrio
dos erros
Figura 20
f) Para corrigir, basta digitar o comando VHDL correto, salvar o cdigo VHDL e repetir os passos
descritos no item c para realizao de nova verificao da sintaxe do cdigo:
17/50
Figura 21
18/50
19/50
Clicar duas
vezes no boto
esquerdo do
mouse
b)
20/50
xc5vlx50t-1ff1136
a)
21/50
a)
Figura 24
c)
Figura 25
22/50
d)
Figura 26
e)
Figura 27
23/50
f.2)
f.1)
f.3)
Figura 28
g) Na prxima tela escolha o sinal que representa o clock ou os clocks se houver mais de um
sinal de clock;
Figura 29
Definio dos sinais que devem receber o sinal de clock na forma de onda
para simulao
Apostila de Laboratrio de Sistemas a Eventos Discretos Aula 1
Prof Dr Silvana Gasparotto de Souza - Prof. MSc. Pedro L. Benko
24/50
Figura 30
i)
Definio dos sinais de entrada e sada que devem fazer parte das formas
de onda simuladas
Figura 31
25/50
Figura 32
26/50
resultado
Figura 33
mouse
arraste
Figura 34
marcao
27/50
Figura 35
j) Para mudanas na cor de fundo da janela de simulao (entre escuro e claro) utilizar a aba do
menu principal: Edit/Preferences. Selecionar a categoria de janela e a mudana do esquema
de cores, neste caso: ISE Simulator/Simulation Waveform Colors onde possvel
selecionar: Classic Simulation. Executar novamente a simulao (Run).
k) Vrios
arquivos
Test
Bench
no
formato
de
Forma
de
Onda
(TBC_Nome_do_Arquivo_VHDL.tbw) podem ser criados para simular, por partes, todas as
situaes previstas para o Projeto. Contudo, deve ser enfatizado que o arquivo que fica
guardado, na Pasta do Projeto, o de excitao das Formas de Onda, no o resultado da
Simulao. Entretanto isto no se constitui um problema, pois para obter novamente a
simulao desejada, basta seguir os passos descritos acima, lembrando de selecionar o
respectivo arquivo Test Bench no formato de forma de onda.
28/50
III.
xc5v1x50t-1ff1136
Figura 36
Caso aparea a mensagem abaixo, explicando que ser criado um arquivo UCF e acrescentado
hierarquia de projeto, basta clicar em <SIM>.
29/50
Um editor de textos se abre para atribuio de pinos do FPGA aos sinais de entrada e sada. A sintaxe
utilizada no arquivo UCF para atribuir um sinal a um pino do chip a seguinte:
NET "nome_do_sinal" LOC = "coordenada_do_pino" ;
Por exemplo, para atribuir ao sinal LED_0 ao pino K12 do chip, utiliza-se a seguinte
linha:
NET "LED_0" LOC = "K12";
O anexo A possui a numerao completa para atribuio de pinos na placa didtica Xilinx Genesys.
Exemplo arquivo de pinagem para o projeto: (Figura 37)
Figura 37
# indica comentrio
30/50
xc5v1x50t-1ff1136
b.1)
31/50
Selecione
Selecione
Execute
Figura 39
32/50
33/50
Procedimento:
Conecte o cabo de alimentao na placa (Power Jack)
Conecte o cabo USB PC e no conector Digilent Adept USB Port detalhe
34/50
No menu Iniciar clique em todos os programas > Digilent > Adept. Voc deve ver uma tela
semelhante a esta:
Selecione a Genesys no campo Connect no canto superior direito conforme a figura abaixo.
35/50
Aps isso voc deve ver uma tela semelhante a seguinte figura:
Clique em Browse e selecione o arquibo .bit gerado pela Xilinx ISE, geralmente contido na
pasta raiz do projeto criado pela Xilinx ISE.
Apostila de Laboratrio de Sistemas a Eventos Discretos Aula 1
Prof Dr Silvana Gasparotto de Souza - Prof. MSc. Pedro L. Benko
36/50
Uma barra de progresso deve aparece no canto inferior, aguarde at a concluso do processo.
37/50
38/50
Toolbar 1
Sources window 2
Processes window 3
Workspace 4
Transcript window 5
Figura A.1
39/50
Running
Up-to-date
Este cone mostra que o processo foi executado e concludo com sucesso, sem erros ou
advertncias, e no h necessidade de execut-lo novamente, ou seja, ele est atualizado.
Se este cone estiver junto a um processo do tipo Reports, o relatrio est atualizado;
contudo, tarefas associadas podem conter erros ou advertncias. Se isto ocorrer, pode-se
ler o relatrio para determinar a causa dos erros ou advertncias.
Warnings reported
Este cone mostra que o processo foi executado e concludo com sucesso, mas que foram
encontradas advertncias.
Errors reported
Este cone mostra que o processo foi executado, mas que um ou mais erros foram
encontrados.
Out-of-Date
Este cone mostra que foram realizadas mudanas no projeto, as quais exigem que o
processo seja executado novamente, ou seja, ele est desatualizado.
Se este cone estiver junto a um processo do tipo Reports, pode-se executar novamente o
processo do tipo Tasks associado para criar uma verso atualizada do Reports.
No icon
Se no houver nenhum cone, isto mostra que o processo nunca foi executado.
40/50
Tasks
Quando um processo do tipo Task executado, o ISE executa no batch mode, ou seja,
o ISE processa o arquivo fonte, mas no abre qualquer ferramenta no Workspace. A
sada do processo aparece na janela Transcript.
Reports
A Maior parte dos Tasks incluem sub-processos, os quais geram um Summary ou
Status Report, por exemplo, o Synthesis Report ou Map Report.
Quando um processo do tipo Report executado, o relatrio aparece na janela
Workspace.
Tools
Quando um processo do tipo Tools executado. A respectiva ferramenta inicia ou
aparece na janela Workspace onde se pode visualizar ou modificar o projeto do arquivo
fonte.
Os cones para os processos do tipo Tools variam dependendo da ferramenta. Por
exemplo, o cone mostrado acima se refere ao Timing Analyzer.
41/50
Este manual apresenta um resumo das caractersticas da placa didtica da Xilinx. Para se obter o
manual original, basta acessar o link:
https://reference.digilentinc.com/_media/genesys:genesys_rm.pdf
42/50
43/50
44/50
45/50
46/50
7.8 GPIOS
A placa possui um conjunto de 8 chaves deslizantes, 8 Leds, 1 joystick e 3 push-buttons. A
seguir a pinagem dessas conexes:
47/50
48/50
E0
At
E1
LED_0
Bt
E2
LED_0
LED_1
(A ou B) t
Ct
LED_2
E3
Os lugares so representados pelos sinais E0, E1, E2 e E3 que em VHDL sero implementados com
um array de dados E[3:0]. Assim a marcao inicial E[0001].
As transies sero as entradas lgicas A, B e C. A varivel t representa o clock que rege a
temporizao de evoluo da rede, j que se trata de um sistema sncrono com o clock.
As sadas lgicas, ativadas pelos lugares E[3:0] sero representadas pelo LEDs: LED_0, LED_1 e
LED_2.
Todas as entradas e sadas lgicas devem ser codificadas como STD_LOGIC em VHDL, j que essa
atribuio representa os pinos do FPGA que podem assumir mais valores do que apenas 0 ou 1.
Se for utilizado BIT, embora o VHDL esteja correto, o compilador Xilinx apresentar erros.
Para as equaes de estado, considera-se cada lugar (E(i)) da rede, verificando-se quando ele ir ser
marcado em funo das possveis marcaes anteriores que levam a marca ao lugar considerado, ou
que mantm a marca no lugar considerado.
49/50
50/50