Aula 11 11, Exp 8: Comunicação pela Interface Ethernet a...
Transcript of Aula 11 11, Exp 8: Comunicação pela Interface Ethernet a...
ComL@b – Laboratório de Comunicações Digitais
www.decom.fee.unicamp.br/~cardoso
Aula 11 Exp 8: Comunicação pela Aula 11, Exp 8: Comunicação pela Interface Ethernet a partir do Protocolo UDP/IP/
Fabbryccio Cardoso
D lt S A tDalton S. Arantes
DECOM-FEEC-UNICAMP
ComL@b – Laboratório de Comunicações Digitais
Objetivos do ExperimentoObjetivos do Experimento
Implementar um sistema em FPGA para
t i ã d t UDP/IP d ã transmissão de pacotes UDP/IP que deverão ser
recebidos em uma aplicação Simulink.
Familiarização com o Core Generator da Xilinx.
Familiarização com o IP Core Tri Mode Ethernet ç
MAC 2.1.
Familiarização com a pilha de protocolos
MAC/IP/UDPMAC/IP/UDP.
ComL@b – Laboratório de Comunicações Digitais
Visão Geral do ExperimentoVisão Geral do Experimento
Aplicação Simulink paraAplicação Simulink para leitura de pacotes UDP
Cabo Cross Ethernet
Projeto FPGA para geração de pacotes UDPSimUdpServer3
0
uint32 1316uint8 (1316)
UDP Recv
Last Valid Data
dataU U(E)
Selector
0
# of Received Bytes 1316uint8 (4)
ComL@b – Laboratório de Comunicações Digitais
Visão Geral do ProjetoVisão Geral do Projeto
tx_errorclient loopback
Top Level
tx_enable
tx_data[3:0]
client_loopback
ten_100_1g_eth_fifo eth_sysgen_udp_clk_wrapper
tx_clock
rx_clock
tx_data[8:0]TX Client FIFO ll_data_out
rx_data[3:0]
rx_error
Tri Mode Ethernet MAC
rx_data[8:0]RX Client FIFO
Módulo SysGen
ll data inrx_data_valid
carrier_sense
RX Client FIFO ll_data_in
PHY Ethernet 10/100 FPGA Xilinx
collision
PHY Ethernet 10/100Intel LXT972A
FPGA Xilinx Virtex2P30
ComL@b – Laboratório de Comunicações Digitais
TarefasTarefas
Obter arquivo de licença “hardware evaluation” do
TEMAC ti d it d XiliTEMAC a partir do site da Xilinx.
Gerar o módulo NGC do Tri-Mode Ethernet MAC 2.1
e incluí-lo na pasta do projeto.
Desenvolver módulo em System Generator para y p
geração dos pacotes UDP.
ComL@b – Laboratório de Comunicações Digitais
Modelo SysGen para geração de pacotesModelo SysGen para geração de pacotesO objetivo deste experimento é projetar um circuito paratransmitir pacotes UDP para um determinado nó da redeem intervalos de 2 segundos.
dbl fpt01
Sy stemGenerator
double
d blUFi 8 0
UFix_8_0
UFi 8 0ll_data_out
ll_sof _out fpt dbl
dbl fpt
l l_sof_in
fpt dbl
l l_data_out
ll_data_in
xlregisterz-1d q
xlregisterz-1d q double
double
UFix_8_0
UFix_1_0
Bool
UFix_8_0
UFix_1_0
ll_dst_rdy _in
ll_eof _out
dbl fpt
l l_sof_out
fpt dbl
l l_eof_out
dbl fpt
l l_eof_in xlregisterz-1d q doubleUFix_1_0
Bool
Bool
UFix_1_0
ll_src_rdy _out
project_send_udp
fpt dbl
l l_src_rdy_out
dbl fpt
l l_src_rdy_in
fpt dbldbl fpt xlregisterz-1d q
xlregisterz-1d q
Bool
double
double
UFix_1_0
Bool
UFix_1_0
A t d l i l i ê (d ti ) tá tA t d ifi d ti tá t
fpt dbl
l l_dst_rdy_out
dbl fpt
l l_dst_rdy_in
xlregisterzd q
Antes de ler, sinalizar que você (destino) está pronto.Antes de escrever, verificar se o destino está pronto.
ComL@b – Laboratório de Comunicações Digitais
Detalhes do ModeloDetalhes do Modelo
dataaddr_header fptdblfptdbl199999999 UFix_28_0 doubledouble
sel
outrst
Temporizador
selxlrelationala
ba=b
xlregisterz-1d q sel
fptdblUFix_28_0Bool
UFix_2_0
double
UFix_2_0
1ll_data_out
addr
header
xlmcodecontrolador
index addr_header
addr_dadosxlspram
addrdatawe
indexaddr_dados
xlmux
d0
d1d1fptdblfptdbl
outen UFix_8_0
UFix_6_0
UFix_2_0 UFix_8_0
double
double
UFix_8_0
UFix_8_0
delay = 1
0
padding
enable
sof
eof
we
xlregisterz-1d qd2
d3xlinv not
Counter
conve
cast1
l l_dst_rdy_in
Bool Bool UFix_8_0
UFix_1_0
UFix_1_0
Bool
Bool
3
2ll_sof_out
src_rdy
controlador xlregisterz-1d q
l i t-1d
Muxxlinv not
UFix_1_0
UFix 1 0
UFix_1_0
UFix_1_0
4ll_src_rdy_out
3ll_eof_out
src_rdy
eof
xlregisterz 1d q
xlregisterz-1d q
fptdbl
fptdblUFix_1_0
UFix_1_0
double
double
soffptdbl double
ComL@b – Laboratório de Comunicações Digitais
ControladorControlador
Máquina de estados que controla a geração do
t MAC/IP/UDPpacote MAC/IP/UDP;
Entradas: index e enable;
Saídas: sel, addr_header, addr_dados, sof, eof,
src_rdy;
Parâmetros: last_index, last_index_frame,
last_index_header, last_index_data,
last_index_totaldata;
Contadores internos: index_header e index_dados;_ _ ;
Transições: mudanças de estado dependem de
index, index header, index dados e do estadoindex, index_header, index_dados e do estado
atual.
ComL@b – Laboratório de Comunicações Digitais
Máquina de EstadosMáquina de Estados
ComL@b – Laboratório de Comunicações Digitais
Diagrama de tempoDiagrama de tempo
index
enable1 1 0 0 1 1 1 1 ........ 1 1 1 1 1 1 1 ......... 1 1 ...... 1 1 1 1 .... 1 1 1 1 1 1 .... 1 1 ....
N 2 N 1 0 1 2 3 4 5 43 44 45 46 47 48 49 1359 1360 N 1 0 1 2 41 42 43 44 45 46 1357 1358
index_header
index_dados
N-2 N-1 0 1 2 3 4 5 43 44 45 46 47 48 49 ........ 1359 1360 ....... N-1 0 1 2 .... 41 42 43 44 45 46.... 1357 1358 ....
0 0 0 0 0 1 2 3 ........ 41 0 0 0 0 0 0 ........ 0 0 ...... 0 0 1 2 .... 41 0 0 0 0 0 .... 0 0 ....
0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 1315 0 0 0 0 0 0 0 1 2 3 4 1315 0
estado (sel)
sof3 3 0 0 0 0 0 0 ......... 0 1 1 1 1 2 2 ....... 2 3 ...... 3 0 0 0 .... 0 1 1 1 1 2 .... 2 3 ....
0 0 0 0 0 0 0 0 ........ 0 0 1 2 3 4 5 ........ 1315 0 ...... 0 0 0 0 .... 0 0 1 2 3 4 .... 1315 0 ....
eof
src_rdy
1 1 1 1 0 1 1 1 ......... 1 1 1 1 1 1 1 ....... 1 1 ...... 1 0 1 1 .... 1 1 1 1 1 1 .... 1 1 ....
1 1 1 1 1 1 1 1 ......... 1 1 1 1 1 1 1 ....... 0 1 ...... 1 1 1 1 .... 1 1 1 1 1 1 .... 0 1 ....
1 1 1 1 0 0 0 0 ......... 0 0 0 0 0 0 0 ....... 0 1 ...... 1 0 0 0 .... 0 0 0 0 0 0 .... 0 1 ....
ComL@b – Laboratório de Comunicações Digitais
Licença para o TEMAC Licença para o TEMAC
ComL@b – Laboratório de Comunicações Digitais
Confirmar o Status da LicençaConfirmar o Status da Licença
ComL@b – Laboratório de Comunicações Digitais
Criar Conta no Site www.Xilinx.comCriar Conta no Site www.Xilinx.com
ComL@b – Laboratório de Comunicações Digitais
Criar ContaCriar Conta
ComL@b – Laboratório de Comunicações Digitais
Acessar Página “Intellectual Property”Acessar Página Intellectual Property
ComL@b – Laboratório de Comunicações Digitais
Intellectual Property: Ethernet SolutionsIntellectual Property: Ethernet Solutions
ComL@b – Laboratório de Comunicações Digitais
Tri-mode Ethernet Soft IPTri mode Ethernet Soft IP
ComL@b – Laboratório de Comunicações Digitais
Página do TEMACPágina do TEMAC
ComL@b – Laboratório de Comunicações Digitais
EvaluateEvaluate
ComL@b – Laboratório de Comunicações Digitais
“Sign In”Sign In
ComL@b – Laboratório de Comunicações Digitais
Formulário de Requisição de LicençaFormulário de Requisição de Licença
Endereço físico (MAC) da placa de rede.
ComL@b – Laboratório de Comunicações Digitais
Arquivo de licença é enviado por emailArquivo de licença é enviado por email
ComL@b – Laboratório de Comunicações Digitais
Como obter o Host-IDComo obter o Host ID
No prompt de comando, digitar “ipconfig –all”;
Alternativa: no painel de controle, conexões de
rede, executar “conexão de rede do computador”
ComL@b – Laboratório de Comunicações Digitais
Arquivo de licença anexado a emailArquivo de licença anexado a email
ComL@b – Laboratório de Comunicações Digitais
Instalar arquivo de licençasInstalar arquivo de licenças
Extrair o arquivo de licenças no raiz do drive C.
Verificar status da licença do TEMAC no Core
Generator:
OK
ComL@b – Laboratório de Comunicações Digitais
Criar novo projeto no Core GeneratorCriar novo projeto no Core Generator
ComL@b – Laboratório de Comunicações Digitais
Gerar Netlist do TEMACGerar Netlist do TEMAC
ComL@b – Laboratório de Comunicações Digitais
Configuração do TEMACConfiguração do TEMAC
ComL@b – Laboratório de Comunicações Digitais
Requisitos para Geração de BinárioRequisitos para Geração de Binário
Binário do projeto será gerado a partir do System
G t tili d d d il ã Generator, utilizando modo de compilação
“Bitstream” com utilização dos seguintes netlists:
Projeto principal: tri_mode_eth_mac_v2_1_top.ngc;
TEMAC: tri_mode_eth_mac_v2_1.ngc;
Chipscope: icon.edn e ila.edn;
Componente debouncing:
lkcomp_reset_clk_wrapper.ngc;
Também deve ser utilizado o UCF
t i d th 2 1 t ftri_mode_eth_mac_v2_1_top.ucf;
Todos os arquivos são fornecidos com excessão do
N li d TEMAC d á d l lNetlist do TEMAC que deverá ser gerado pelo aluno.
ComL@b – Laboratório de Comunicações Digitais
RelatórioRelatório
Apresentar uma descrição geral da pilha de
t l MAC/IP/UDP d d protocolos MAC/IP/UDP, descrevendo os campos
que definem os protocolos e o script
i it th dinit_eth_sysgen_udp.m.
Descrever a implementação da máquina de estados
que implementa o controlador.
Explicar o funcionamento dos subsistemas p
destacados no próximo slide.
ComL@b – Laboratório de Comunicações Digitais
Explicar os circuitos em destaqueExplicar os circuitos em destaque
dataaddr_header
l l ti la
b
fptdblfptdbl199999999 UFix_28_0
Bool double
doubledouble
addrindex
sel
addr header
outrst
Temporizador
selxlrelationalb
a=b
xlregisterz-1d q sel
d0
fptdblUFix_28_0
UFix_2_0
UFix_6_0
double
UFix_2_0
UFix_8_0
delay = 1
1ll_data_out
addr
header
xlmcodecontrolador
index addr_header
addr_dadosxlspram
addrdatawe
indexaddr_dados
xlmux
d0
d1d1fptdblfptdbl
outen
Counter
UFix_8_0
UFix_2_0 UFix_8_0
UFi 1 0
double
doubleUFix_8_0
delay = 1
0
padding
enable
sof
eof
xlregisterz-1d qd2
d3xlinv not
Counter
conve
cast1
l l_dst_rdy_in
Bool Bool UFix_8_0
UFix_1_0
UFix_1_0
UFi 1 0
Bool
Bool
3
2ll_sof_out
src_rdy
controlador xlregisterz-1d q
l i t-1d
Muxxlinv not
UFix_1_0
UFix 1 0
UFix_1_0
UFix_1_0
4ll_src_rdy_out
3ll_eof_out
src_rdy
eof
xlregisterz 1d q
xlregisterz-1d q
fptdbl
fptdblUFix_1_0
UFix_1_0
double
double
soffptdbl double
ComL@b – Laboratório de Comunicações Digitais
AvaliaçãoAvaliação
Execução do experimento (Visto): 5,0 pontos
Relatório: 5,0 pontos
Apresentar uma descrição geral da pilha de
protocolos MAC/IP/UDP: 2,0 pontos
Descrever a implementação da máquina de estados
que implementa o controlador: 2,0 pontos
Explicar o funcionamento dos subsistemas destacados
lid t i 1 0 tno slide anterior: 1,0 pontos