Ethernet on the FPGA - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Ethernet on the FPGA

Description:

... details we have to do in the FPGA (Translating the nibbles of data into a sense) ... We'll send the status LED values as a single byte of data in our UDP packet. ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 14
Provided by: Gabe63
Category:
Tags: fpga | are | byte | ethernet | how | in | many | nibbles

less

Transcript and Presenter's Notes

Title: Ethernet on the FPGA


1
Ethernet on the FPGA
2
About Ethernet
  • Standard for interconnecting local area networks
  • Many standards we focus on IEEE 802.3
  • Copper twisted pair wires
  • 10BASET and 100BASE-T
  • This lab uses 10BASE-T

3
OSI Model
  • Above layer 4, gets fuzzy

4
Physical layer - Ethernet
  • Twisted pair cable
  • Differential signaling
  • 10 megabits / second
  • Manchester encoding (for 10BASE-T)

5
Link Layer Ethernet
  • Thankfully hardware on the FPGA takes care of
    converting those signals into data for us
  • From the FPGA, we see digital data (similar to
    what comes out of async_receiver, but a nibble at
    a time)

Inside FPGA
TX clk
MAC
PHY
TX data 30
Ethernet plug
RX data 30
RX clk
6
Link Layer Ethernet
  • Still have to decode it tho. So what does an
    Ethernet frame look like?
  • This is the gory details we have to do in the
    FPGA
  • (Translating the nibbles of data into a sense)

7
Network and Transport layer orhow do I do
something useful?
  • To interoperate with normal machines, youve got
    to use TCP/IP stack
  • IP header is pretty simple actually

8
Network and Transport layer orhow do I do
something useful?
  • To actually send the data, well use UDP because
    its simplest. Very little extra fluff

9
Putting it all together an example
  • Lets use UDP to control an LED on the FPGA using
    our PC
  • Well send a UDP packet with information
    containing the values of the LEDs

10
Simple example
  • To keep it simple, well broadcast the data by
    sending it to every device on the network. This
    is done by using the special ip address
    x.x.x.255.
  • Well send the status LED values as a single byte
    of data in our UDP packet.
  • Well use Python to send the data from a Windows
    computer

11
Python program
12
Ethernet frame
  • This causes Windows to send the following
    Ethernet packet out on the wire

13
Decode on the FPGA
  • Which we can then decode on the FPGA with a state
    machine
Write a Comment
User Comments (0)
About PowerShow.com