www.decom.fee.unicamp.br/~cardoso Aula 15: Comunicação pela Interface Ethernet com o Protocolo UDP/IP Fabbryccio Cardoso Marcelo Fernandes Dalton S. Arantes DECOM-FEEC-UNICAMP
Objetivos do Experimento Implementar um sistema em FPGA para 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/UDP.
Visão Geral do Experimento Aplicação Simulink para leitura de pacotes UDP Cabo Cross Ethernet SimUdpServer3 uint8 (1316) uint32 1316 0 Projeto FPGA para geração de pacotes UDP UDP Recv Last Valid Data 0 # of Received Bytes 1316 U U(E) Selector uint8 (4) data
Visão Geral do Projeto FPGA Top Level tx_error client_loopback tx_enable tx_data[3:0] ten_100_1g_eth_fifo eth_sysgen_udp_clk_wrapper tx_clock rx_clock rx_data[3:0] Tri Mode Ethernet MAC tx_data[8:0] TX Client FIFO ll_data_out Módulo SysGen rx_error rx_data[8:0] RX Client FIFO ll_data_in rx_data_valid carrier_sense collision PHY Ethernet 10/100 Intel LXT972A FPGA Xilinx Virtex2P30
Tarefas A partir dos fontes em VHDL e módulos NGC, montar projeto ISE e definir o mapeamento de pinos (UCF). 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 geração dos pacotes UDP.
Módulo SysGen de Referência: eth_sysgen.mdl System Generator 1 xlre giste z -1 ll_data_in ll_data_out xlre giste z -1 ll_sof_in ll_sof_out xlre giste z -1 ll_e of_in ll_e of_out xlre giste z -1 ll_src_rdy_in ll_src_rdy_out xlre giste z -1 ll_dst_rdy_in Antes de escrever, verificar se o destino está pronto. ll_dst_rdy_out Ante s de le r, sina liza r que você (de stino) e stá pronto.
Dicas para o projeto SysGen O objetivo deste experimento é projetar um circuito para tra nsmitir pa cote s UDP pa ra um de te rmina do nó da re de em intervalos de 2 segundos. System Generator 0 ll_data_in ll_data_out xlre giste z -1 ll_sof_in ll_sof_out xlre giste z -1 ll_data_out ll_eof_in ll_src_rdy_in ll_dst_rdy_in ll_eof_out ll_src_rdy_out ll_sof_out xlre giste z -1 ll_eof_out xlre d giste z -1 qr ll_src_rdy_out project_send_udp xlre giste z -1 ll_dst_rdy_in ll_dst_rdy_out Antes de escrever, verificar se o destino está pronto. Antes de ler, sinalizar que você (destino) está pronto.
Dicas para o projeto SysGen 199999999 UFix_28_0 a UFix_28_0 xlre la tiona a=b l rst out b Temporizador se l UFix_2_0 xlre giste z -1 UFix_2_0 se l index addr_header UFix_6_0 addr d0 header controlador xlmcode addr_dados UFix_2_0 addr dados xlmux d1 1 ll_da ta _out sof k =0 d2 delay = 1 padding 1 ll_dst_rdy_in xlinv not enable eof d3 controlador src_rdy Mux xlre d giste z -1 qr xlre d giste z -1 qr 2 ll_sof_out 3 ll_e of_out xlre giste z -1 4 ll_src_rdy_out
Relatório Apresentar uma descrição geral da pilha de protocolos MAC/IP/UDP, descrevendo os campos que definem os protocolos. Descrever a implementação em System Generator. Descrever em linhas gerais o projeto ISE que utiliza o componente SysGen. Apresentar os resultados experimentais.