Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
11
Tutorial: Como gerar
Tutorial: Como gerar
macros para
macros para FPGAs
FPGAsXilinx
Xilinx
Mestrandos: Rodrigo T. P. Oliveira
Mestrandos: Rodrigo T. P. Oliveira
Andr
Andr ééL. S. Braga
L. S. Braga
Prof. Dr.: Carlos
Prof. Dr.: Carlos Llanos
Llanos
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
22
Defini
Defini çções e Propostas
ões e Propostas
��O que
O que ééuma Macro?
uma Macro?
��ÉÉuma fun
uma funçç ão l
ão l óógica que foi criada com componentes
gica que foi criada com componentes
espec
espec ííficos de uma determinada fam
ficos de uma determinada famíí lia de
lia de FPGAs
FPGAs ..
��Porque fazer uma Macro?
Porque fazer uma Macro?
��Para que esta possa ser usada como uma
Para que esta possa ser usada como uma
delimita
delimitaçç ão r
ão ríí gida entre setores reconfigur
gida entre setores reconfigur ááveis e
veis e
não
não-- reconfigur
reconfigur ááveis num sistema de reconfigura
veis num sistema de reconfiguraçç ão
ão
dinâmica; j
dinâmica; j ááque, a mesma pode ser colocada na
que, a mesma pode ser colocada na
posi
posiçç ão desejada durante o processo de
ão desejada durante o processo de Place
Place& &
Route
Route..
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
33
Como abrir o programa para
Como abrir o programa para
cria
criaçç ão de Macros
ão de Macros
��No Menu Iniciar (
No Menu Iniciar ( Start
Start) do Windows,
) do Windows,
dentro da pasta referente ao ISE
dentro da pasta referente ao ISE
encontra
encontra-- se uma pasta com todos os
se uma pasta com todos os
acess
acessóórios dispon
rios disponíí veis juntamente ao
veis juntamente ao
pacote do ISE, dentre eles encontra
pacote do ISE, dentre eles encontra-- se o
se o
FPGA Editor:
FPGA Editor:
��Menu Iniciar
Menu Iniciar \\Programas
Programas \\Xilinx
XilinxISE
ISE
7.1i
7.1i \\ Accessories
Accessories \\FPGA Editor
FPGA Editor
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
44
Uma Visão Geral do Programa
Uma Visão Geral do Programa
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
55
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
66
Selecionar
Nome/Localização do
arquivo de Macro
Selecionar o Dispositivo ao qual
se destina a Macro:
Device/ Package/ Speed
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
77
Situa
Situaçç ão e Atalhos
ão e Atalhos
��Foram Abertas 3 janelas no FPGA Editor:
Foram Abertas 3 janelas no FPGA Editor:
��Array
ArrayWindow
Window
��List
ListWindow
Window
��World
WorldWindow
Window
��Atalhos para navega
Atalhos para navegaçç ão r
ão ráápida dentro da
pida dentro da Array
Array
Window
Window::
��Scroll
ScrollUpUp// Down
Down��Pan
PanDown
Down// UpUp
��Shift
Shift+ + Scroll
ScrollUpUp// Down
Down��Pan
PanLeft
Left// Right
Right
��Ctrl
Ctrl + + Scroll
ScrollUpUp// Down
Down��Zoom In/
Zoom In/Out
Out
��Ctrl
Ctrl + + Shift
Shift+ + Scroll
ScrollUpUp// Down
Down��Zoom to Box
Zoom to Box
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
88
Selecione a região a ser usada
para a construção da macro
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
99
Adapte os layersde acordo com o seu
conforto visual. Caso seja necessário
saber o que cada ícone representa basta
posicionar o cursor sobre o ícone e
um “hint”serámostrado.
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1010
Selecione a primeira Slice
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1111
Sele
Seleçç ão e adi
ão e adi çção da primeira
ão da primeira Slice
Slice
ao projeto
ao projeto
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1212
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1313
Repita o procedimento com
Repita o procedimento com
a primeira
a primeira Slice
Slicedo segundo
do segundo
grupo, selecionando
grupo, selecionando-- a e
a e
adicionando
adicionando-- a ao projeto
a ao projeto
como visto nos slides
como visto nos slides
seguintes
seguintes
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1414
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1515
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1616
Situa
Situaçç ão: 2
ão: 2 Slices
Slicesinseridas
inseridas
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1717
Adicionando os dois pinos
Adicionando os dois pinos
externos de entrada da Macro
externos de entrada da Macro
na
na Slice
Slice11
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1818
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
1919
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2020
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2121
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2222
Adicionando os fios de
Adicionando os fios de
conexão entre as
conexão entre as Slices
Slices1 e 2
1 e 2
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2323
Cada
Cada Slice
Slicepossui as sa
possui as saíí das X e Y que são
das X e Y que são
respectivamente combina
respectivamente combinaçç ão linear das entradas F1
ão linear das entradas F1-- F4 e
F4 e
G1
G1-- G4. Selecione usando a tecla
G4. Selecione usando a tecla shift
shifta sa
a saíí da Y da
da Y da Slice
Slice1 1
e a entrada G1 da
e a entrada G1 da Slice
Slice22
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2424
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2525
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2626
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2727
FaFaçç a o mesmo entre a sa
a o mesmo entre a saíí da
da
X da
X da Slice
Slice1 e a entrada F1 da
1 e a entrada F1 da
Slice
Slice2 2
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2828
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
2929
Neste passo devemos
Neste passo devemos
adicionar os pinos externos de
adicionar os pinos externos de
sasaíí da da Macro na
da da Macro na Slice
Slice2. 2.
Nossas sa
Nossas saíí das serão os pinos
das serão os pinos
X e Y da
X e Y da Slice
Slice2. Adicione
2. Adicione-- os os
um a cada vez como visto nos
um a cada vez como visto nos
slides a seguir.
slides a seguir.
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3030
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3131
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3232
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3333
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3434
Dentro de cada
Dentro de cada Slice
Slicedevemos
devemos
fazer conexões internas que
fazer conexões internas que
mapearão a sua sa
mapearão a sua saíí da de acordo
da de acordo
com a sua entrada. Para fazer as
com a sua entrada. Para fazer as
conexões internas da
conexões internas da Slice
Slice1, dê
1, dê
um duplo
um duplo click
clickpra visualizar o
pra visualizar o
circuito interno da
circuito interno da Slice
Slice
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3535
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3636
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3737
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3838
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
3939
Dentro da Slicetemos 2 tabelas verdades X em função de F1-F4 e Y em função de G1-G4.
No campo acima colocamos as equações que correspondem Y com G1-G4 e X com F1-F4, no entanto,
Internamente, em ambos os casos, as entradas são tratadas como A1-A4 e não F ou G como nos pinos externos.
Então se quisermos uma saída Y que seja uma porta OU entra as 4 entradas G devemos escrever A1+A2+A3+A4
na linha correspondente a saída G. No nosso caso queremos apenas um seguidor de sinal por tanto temos que
tanto G como F serão apenas uma repetição do sinal presente em A1
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4040
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4141
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4242
Selecione (zoom) a região
pela qual devemos passar
o sinal desde a tabela verdade
atéa saída.
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4343
Para que o sinal possa ser passado desde
a tabela verdade atéa saída basta clicar
no pequeno triângulo no qual o fio se conecta
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4444
Repetir passo para
este último fio
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4545
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4646
Repetir o passo anterior para a conexão entre a segunda
Repetir o passo anterior para a conexão entre a segunda
tabela verdade e sua respectiva sa
tabela verdade e sua respectiva saíí dada
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4747
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4848
Tendo feita a liga
Tendo feita a ligaçç ão interna
ão interna
na
na Slice
Slice1, deve
1, deve-- se repetir o
se repetir o
procedimento para a
procedimento para a Slice
Slice22
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
4949
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
5050
Setando
Setandoa referência para a
a referência para a
Macro
Macro
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
5151
Selecione qual seráa referência
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
5252
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
5353
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
5454
Essa Macro pode ser usada dentro de
Essa Macro pode ser usada dentro de
um arquivo VHDL qualquer que esteja
um arquivo VHDL qualquer que esteja
sendo especificado para o dispositivo no
sendo especificado para o dispositivo no
qual a Macro foi projetada. Deve
qual a Macro foi projetada. Deve-- se
se
colocar o arquivo de macro no mesmo
colocar o arquivo de macro no mesmo
diret
diret óório do arquivo (ou projeto) VHDL.
rio do arquivo (ou projeto) VHDL.
De maneira que a Macro pode ser
De maneira que a Macro pode ser
facilmente instanciada como um simples
facilmente instanciada como um simples
componente VHDL.
componente VHDL.
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
5555
Instanciando a Macro
Instanciando a Macro
Declara
Declaraçção:
ão:
component
componentMacroTutorial
MacroTutorial isis
port
port((Entrada1
Entrada1: in
: in std_logic
std_logic;;
Entrada2
Entrada2: in
: in std_logic
std_logic;;
Saida1
Saida1
: : out
outstd_logic
std_logic;;
Saida2
Saida2
: : out
outstd_logic
std_logic););
end
endcomponent
component ;;
Instância:
Instância:
Nome_da_Instancia
Nome_da_Instancia: : MacroTutorial
MacroTutorial port
portmap
map((
Entrada1 => ,
Entrada1 => ,
Entrada2 => ,
Entrada2 => ,
Saida1 => ,
Saida1 => ,
Saida2 => );
Saida2 => );
Mestrado em Sistemas Mecatrônicos
Mestrado em Sistemas Mecatrônicos
5656
FIMFIM
Versão 2.0 do Tutorial: Revisado pelo Mestrando Anderson Correia
Versão 2.0 do Tutorial: Revisado pelo Mestrando Anderson Correia