ComL@b – Laboratório de Comunicações Digitais
www.decom.fee.unicamp.br/~cardoso
Aula 13, Exp 10: 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 projeto que possa ser controlado
ti d t UDP/IPa partir de pacotes UDP/IP.
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 Familiarização com a pilha de protocolos
MAC/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 projeto_top.ngc
tx_enable
tx_data[3:0]
client_loopback
ten_100_1g_eth_fifo eth_sysgen_udp_clk_wrapperudprcv_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.
Desenvolver módulo para oscilar led com os
seguintes parâmetros:g p
Seleção do led entre led_0, led_1, led_2 e led_3.
Período de oscilação.ç
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 receive_udp
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
Interface de leituraInterface de leitura
src rdyll_data_out
dbl fptfpt dbl
l l data out
xlregisterz-1d q doubUFix_8_0UFix_8_0ble UFix_1_0 s c_ dy
sof
ll_sof _out
ll_eof _out
p
ll_src_rdy_in fpt dbl
l l_sof_outdbl fpt fpt dbl
l l_data_out
xlregisterz-1d q
xlregisterz-1d q doub
doub
UFix_1_0
UFix_1_0
UFix_1_0
UFix_1_0UFix_1_0ble
eofll_src_rdy _out
data out d
fpt dbl
l l_src_rdy_out
ll_sof_in ll_eof_out
dbl fpt
l l eof in
xlregisterz-1d q doubUFix_1_0UFix_1_0UFix_1_0ble
UFix_32_0
const
subsistema_le
data_in
data_out
v alido
receive udp
xlregisterz-1d
enq
memoria
_ _
dbl fpt
l l_data_inconvercast
UFix_8_0ble UFix_32_0
BoolUFix_1_0
receive_udp
0
ready to receive
memoria
fpt dbldbl fpt xlregisterz-1d qUFix_1_0 doubble UFix_1_0 UFix_1_0
Antes de ler, sinalizar que você (destino) está pverificar se o destino está pronto.
ready_to_receive ll_dst_rdy_outll_dst_rdy_in
S FIFO RX d TEMACSrc: FIFO RX do TEMACDst: Componente SysGen
ComL@b – Laboratório de Comunicações Digitais
Pilha de protocolosPilha de protocolos
ComL@b – Laboratório de Comunicações Digitais
Quadro EthernetQuadro Ethernet
0 6 12 14
http://en.wikipedia.org/wiki/Ethernet
ComL@b – Laboratório de Comunicações Digitais
Protocolo IPProtocolo IP
4 bytes
+ Bits 0–3 4–7 8–15 16–18 19–31
H d Type of S i0 Version Header lengthService(now DiffServand ECN)
Total Length14
32 Identification Flags Fragment Offset
64 Time to Live Protocol Header Checksum96 Source Address
182226 96 Source Address
128 Destination Address160 Options
2630
160or
192+Data
34
Cabeçalho: 20 bytes
ComL@b – Laboratório de Comunicações Digitais
Protocolo UDPProtocolo UDP4 bytesCabeçalho: 8 bytes
+ Bits 0 - 15 16 - 31
0 Source Port Destination Port34 36 37
32 Length Checksum38
64 Data42 43 44 45
46
if index == 36porta1 = data in;porta1 = data_in;
elseif index == 37porta0 = data_in;
endend
ComL@b – Laboratório de Comunicações Digitais
Salva os dadosSalva os dados
porta = xl_concat(porta1, porta0);
if porta == 1234if index == 42
const3 = data in;const3 = data_in;elseif index == 43
const2 = data_in;elseif index == 44elseif index 44
const1 = data_in;elseif index == 45
const0 = data in;const0 data_in;elseif index == 46
if data_in < 4sel led = data in;_ _ ;
endend
end
ComL@b – Laboratório de Comunicações Digitais
SaídasSaídas
idx = index;
const = xl_concat( const3, const2, const1, const0 );
sel = sel led;sel = sel_led;
est = estado;
ComL@b – Laboratório de Comunicações Digitais
Módulo receive udpMódulo receive_udp
desempacotador oscila led
src_rdy idx led 0
desempacotador oscila_led
sof est
_
led_1
eof const const led_2
data_in sel sel led_3
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
Diagrama de Estados (LED)Diagrama de Estados (LED)
ComL@b – Laboratório de Comunicações Digitais
Diagrama de Tempo (LED)Diagrama de Tempo (LED)
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: 3,5 pontos
Módulo led: 1,5 pontos
ComL@b – Laboratório de Comunicações Digitais
Geração do Componente TEMAC
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
/ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False
/Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure true /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles true /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /NA /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /LeaveUntagged /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice
Top Related