I have a Spartan 3 FPGA for implementing a specific kind of digital modulation. I read the output signal by UART and RS232 but the rate is too slow for following high frequency signals.

It was suggested that I could read the output using Ethernet. How can I read the output from my Spartan 3 by Ethernet?

  • \$\begingroup\$ Do you need to constantly read samples? Or could you buffer and retrieve a small number at a time? \$\endgroup\$
    – David
    Mar 23 '14 at 19:29
  • \$\begingroup\$ @David Dear David. Can you explain more your question? Indeed I have not a strong background in this field so I will appreciate if you guide me more \$\endgroup\$
    – CLAUDE
    Mar 23 '14 at 21:01
  • \$\begingroup\$ There are perhaps better and less versatile alternatives to Ethernet. If your distance isn't too long, consider LVDS. Or if you already have the UART code, using RS-485 may enable you to work at higher speeds. \$\endgroup\$
    – Dzarda
    Mar 23 '14 at 22:36
  • 1
    \$\begingroup\$ You may want to consider if one of the USB fifo parts (CY7C68013a etc) would meet your needs. \$\endgroup\$ Mar 24 '14 at 17:20
  • 1
    \$\begingroup\$ UART bit rate is not limited to any frequency other than what the hardware can transmit/receive and what the transmission line can carry. The latter can be mitigated by using differential pairs. LVDS, RS-475, Ethernet are examples of differential signalling - just to name a few. But whereas Ethernet is a whole standard that uses it, LVDS simply describes the "electrical" layer. So, you really need to decide, whether you need to stick with such a complex protocol as Ethernet is. \$\endgroup\$
    – Dzarda
    Mar 25 '14 at 15:43

You will need to push packets out of your FPGA using a block of HDL code which implements at least some of the Ethernet protocol.

If you limit yourself to a point-to-point link, then you should be able to write something fairly simple which will just generate broadcast packets with your data in.

You can then work up from there to a more conventional network where you respond to the ARP request from the PC, maybe accept some packets for configuration, and address your data specifically to the host rather than broadcasting it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.