39
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 t Dalton S. Arantes DECOM-FEEC-UNICAMP

cardosocardoso/ie344b2008s2/Aula13...Microsoft PowerPoint - Aula13-Exp10.pptx Author cardoso Created Date 11/3/2008 11:43:52 PM

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

  • 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