Aula13 - Unicampcardoso/ie344b2008s1/Aula13-exp9.pdf · Title: Microsoft PowerPoint - Aula13.pptx...
Transcript of Aula13 - Unicampcardoso/ie344b2008s1/Aula13-exp9.pdf · Title: Microsoft PowerPoint - Aula13.pptx...
ComL@b – Laboratório de Comunicações Digitais
www.decom.fee.unicamp.br/~cardoso
Aula 13, Exp 9: Controle remoto de dispositivos FPGA a partir da rede
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 que possa ser
t l d ti d t UDP/IP d controlado a partir de pacotes UDP/IP gerados a
partir de um aplicativo na rede.
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 ExperimentoAplicação Simulink para leitura de pacotes UDP
Cabo Cross Ethernet
Projeto FPGA para jgeração de pacotes UDPSimUdpClient3
UDP Send
data
length_data
Dados
6
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
Gerar o módulo NGC do Tri-Mode Ethernet MAC 2.1
i l í l t d j te incluí-lo na pasta do projeto.
Desenvolver módulo em System Generator para
interpretar pacotes IP/UDP recebidos de
computador remoto com o objetivo de controlar a
freqüência do piscar de um led.
Desenvolver módulo para piscar um led de forma p p
intermitente.
ComL@b – Laboratório de Comunicações Digitais
Modelo SysGen para recepção de pacotes
IP FPGA 192.168.5.2 MAC FPGA 00-a5-aa-aa-55-56IP Notebook 192.168.5.3
Modelo SysGen para recepção de pacotes
src_rdy
ll_data_outdbl fpt
fpt dbl
l l data out0xlregisterz-1d q
Sy stemGenerator
doubleUFix_8_0UFix_8_0
double UFix_1_0
Módulo Desempacotador
sof
ll_sof _out
ll_eof _out
ll_src_rdy_in fpt dbl
l l_sof_outdbl fpt
l l_sof_infpt dbl
ll_eof_out
l l_data_out
1 1 0 ones(1,199)
1
xlregisterz-1d q
xlregisterz-1d q double
double
double
UFix_1_0
UFix_1_0
UFix 1 0
UFix_1_0
UFix_1_0
UFix 1 0
UFix_1_0double
const
eof
data_in
ll_src_rdy _out
data_out
v alido
xlregisterz-1d
enq
fpt dbl
ll_src_rdy_outdbl fpt
l l_eof_in
dbl fpt0 1:36 4 210 37:1
1 ones(1, 199) 0 xlregisterz-1d q
convercast
doubleUFix_1_0UFix_1_0UFix_1_0
UFix_8_0
double
double
UFix_32_0
UFix_32_0
BoolUFix_1_0
subsistema_ledv alido
receive_udp
0
en
memoria
fpt dbldbl fpt
l l_data_in
0 xlregisterz-1d q
convercast
UFix_1_0 doubledouble UFix_1_0 UFix_1_0Módulo Piscar Led
Antes de ler, sinalizar que você (destino) está pronto.Antes de escrever, verificar se o destino está pronto.
ready_to_receive ll_dst_rdy_outll_dst_rdy_in
ComL@b – Laboratório de Comunicações Digitais
Detalhe do DesempacotadorDetalhe do Desempacotador
5data_out
src_rdydata_out[src_rdy] [data_out]
1src_rdy
UFix_1_0
UFi 8 0
UFix_32_0
6valido
2
1ll_data_out
0
padding
1xlmcodedesempacotador
sof
valido
state
[sof]
[state]
[valido]
2sof
UFix_1_0
UFix_8_0
UFix_1_0
UFix_1_0
UFix_2_0
3ll_eof_out
ll_sof_outctrl
eof
idx [index]
[data in]
[eof]
3eof
UFix_1_0
UFix_6_0
4ll_src_rdy_out
data_inporta_udp
controlador
[ _ ]
4data_in
UFix_8_0UFix_16_0
Interface para geração de pacote não será utilizada.
ComL@b – Laboratório de Comunicações Digitais
DesempacotadorDesempacotador
Máquina de estados que interpreta pacotes MAC/IP/UDP
recebidos a partir da interface local-link da FIFO RX;recebidos a partir da interface local-link da FIFO RX;
Entradas: src_rdy, sof, eof e data_in;
Saídas: data out e valido;Saídas: data_out e valido;
Parâmetros: last_index_hdr (41) e last_index_data
(45);(45);
Estados internos:
data: armazena o parâmetro de controle (4 bytes);data: armazena o parâmetro de controle (4 bytes);
porta: armazena o campo de cabeçalho porta de destino
(2 bytes);
index: contador interno utilizado para indexar os bytes dos
pacotes recebidos. Conta de 0 a 45. De 0 a 41 indica
b lh 36 37 i di b b 42 45 ãcabeçalho, 36 e 37 indicam os bytes porta, bytes 42 a 45 são
os bytes de dados;
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
ComL@b – Laboratório de Comunicações Digitais
Módulo Piscar LedMódulo Piscar Led
Consiste em um registrador de 1 bit cujo conteúdo
é i tid ti d bl f üê i é invertido a partir do enable em uma freqüência
constante;
O enable é ativado quando um contador free
running, responsável pela marcação de tempo,
alcança o valor do parâmetro de controle de tempo;
Ex.: parâmetro = 100e6 corresponde a um intervalo
de tempo de 1s;
Contador deve ser resetado quando o mesmo é
maior que o parâmetro de controle.
ComL@b – Laboratório de Comunicações Digitais
Diagrama de Estados (LED)Diagrama de Estados (LED)
ComL@b – Laboratório de Comunicações Digitais
Diagrama de Tempo (LED)Diagrama de Tempo (LED)
B+N < A
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: projeto_top.ngc;
TEMAC: tri_mode_eth_mac_v2_1.ngc;
Componente debouncing:
comp_reset_clk_wrapper.ngc;
bé d ili d C j fTambém deve ser utilizado o UCF projeto_top.ucf;
Mcode: desempacotador.m
Todos os arquivos são fornecidos com excessão do
Netlist do TEMAC que deverá ser gerado pelo aluno.
ComL@b – Laboratório de Comunicações Digitais
AvaliaçãoAvaliação
Execução do experimento (Visto): 5,0 pontos
Componente SysGen: 5,0 pontos
Módulo desempacotador: 4,0 pontos
Módulo led: 1,0 pontos