Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Ethernet100M via Fpga

Status
Not open for further replies.

STU_KNTU

Member level 1
Joined
Feb 29, 2016
Messages
33
Helped
3
Reputation
6
Reaction score
3
Trophy points
8
Activity points
286
hi.
I'm wondering how can I make a connection between my PC and FPGA via Ethernet 100M.
Including : Transmission Packets between FPGA an PC .which is capable to connect to network switches.
So which series of Spartan & IP Cores are better to use?(is Spartan 6 OK?)
Any other new suggestions to my project??
thanks...:thumbsup:
 

Understanding the detailed features of the IP core is very important. The newer the version of an IP core, the better the features. However, make use of available board and run the test. Good luck.
 

There are several layers to this problem. TCP/IP is very complicated vs UDP/IP, so you should start with UDP/IP.

A typical design will start at the high level with two/three main endpoints -- one for your application data, one for ARP, and one for ICMP (optional). When another computer wants to send data to you, it will issue an arp which you must respond to. Arp is also used to keep switches from forgetting where you are. ICMP is used for ping. It is mainly for testing/debug.

Once you have something that can create your data packets, you can send them to an udp/ip/ethernet packetizer that adds the headers (except ones added later). From there, packets typically go to a packet buffer, then to the arbiter that selects between applications, then to the MAC. The MAC is a Xilinx IP core that mainly just adds the preamble, pads short packets, and adds the crc at the end. The output of the MAC is typically MII which can be directly connected to output pins, or converted to RMII/SMII if needed. The FPGA connects to an external chip called a PHY, and the PHY connects to the magnetics/ethernet port.

The MAC also connects to the management interface of the PHY (MIIM/MDIO), and potentially to other pins on the PHY like RESETn. The MDIO interface is often not needed, but can be useful if default settings are not enough or if you want to get extra diagnostics from the PHY. Some PHYs don't have public documentation. In such cases, look at the linux kernel modules that would use that PHY to see if there are any vendor specific things you need to do.



TCP is much harder as you have the retransmit buffer, the state machine, and plenty of corner cases that can have complicated actions. It can make sense to use a soft-core processor to help out in that case.
 
If you use the Xilinx TEMAC you will require a license for the core. It's not free. If you are willing to work a bit more you could get the Ethernet core found on Opencores. Here is an implementation of Gigabit Ethernet on a Atlys board that someone made work leveraging off a SDR design.
 
thanks for replying
If you use the Xilinx TEMAC you will require a license for the core. It's not free.
is there any core that i can use for free???
There are several layers to this problem. TCP/IP is very complicated vs UDP/IP, so you should start with UDP/IP.
I'm implementing layer one and two of network layers.I dont want to get involve in implementing layer 3 and 2 (TCP/IP protocol or UDP)

- - - Updated - - -

If you use the Xilinx TEMAC you will require a license for the core.
I suppose Vivado support TEMAC Core .I want to use Spartan 6 so i have to use ISE .
I'm looking for a core that i can use in ISE.
 

A free core is on Opencores, but you will likely have more trouble getting it working. I've never used it as I've always used the TEMAC from Xilinx (we had a license), but I did see a bunch of messages on I think Altera's forum in regards to people using the Opencores 10/100 Ethernet MAC, which you can find here. There is also a tri-mode MAC that is found there too.
 
A free core is on Opencores, but you will likely have more trouble getting it working.
I already tried this core, and was skeptical on using it on our design. My main challenge was to write a test-bench (spend time on writing it) so as to verify it completely. It might be working might not be! In the end we decided to buy the TEMAC from Xilinx.
You can visit this forum to get an idea as to how things are:
https://groups.google.com/forum/#!forum/opencores-tri-mode-eth-mac

If you want to use it in an academic project, or own study purpose, I would suggest you to go ahead.
If you want to use it for a product development, refrain from it.


is there any core that i can use for free???
You can use the Xilinx TEMAC for free and generate a bit stream, but it will time-out after some minutes. The exact time in minutes you'll get to know from Xilinx website/forums.

Other sources: **broken link removed**
Register & join this group to get access to the source codes.
 
You have to have the embedded edition software to have that code available.
Capture.JPG

If you have the embedded edition then you have a solution, otherwise it's an extra cost associated with the embedded edition as it includes the license for Microblaze.

- - - Updated - - -

It's also limited to the 12.3 ISE and 12.3 EDK see here
 
My comment for the Ethernet MAC was based on the OpenCores "tri mode ethernet MAC".
I see that your requirement is 10/100Mbps. So you can also take a look at the opencores MAC:
https://opencores.org/project,ethmac

I can't comment regarding the state of that core as I never evaluated it. But I have a gut feeling that it is in better shape than the tri mode ethernet MAC (Project was last updated on July 2011 with simulation support for Icarus Verilog).
 
My comment for the Ethernet MAC was based on the OpenCores "tri mode ethernet MAC".
I see that your requirement is 10/100Mbps. So you can also take a look at the opencores MAC:
https://opencores.org/project,ethmac

I can't comment regarding the state of that core as I never evaluated it. But I have a gut feeling that it is in better shape than the tri mode ethernet MAC (Project was last updated on July 2011 with simulation support for Icarus Verilog).

That's the first Opencores MAC that I linked to. That is also the one that used to have a very large thread on Altera's forum about using that instead of Altera's non-free Ethernet MAC IP. Don't recall if that thread got lost when they had a huge loss of forum data quite a few years ago. I also recall seeing that it was the core that was used in a number of other designs that I've run across over the years, so I imagine it's probably in somewhat decent shape for an OC project.
 
If you have the embedded edition then you have a solution, otherwise it's an extra cost associated with the embedded edition as it includes the license for Microblaze.
Fortunately I have license for system edition and embedded editon 14.7 but I've installed system edition .
So should I delete system edition and install the embedded one??
It's also limited to the 12.3 ISE and 12.3 EDK
Do you mean that doesn't work in 14.7?!
My comment for the Ethernet MAC was based on the OpenCores "tri mode ethernet MAC".
I see that your requirement is 10/100Mbps. So you can also take a look at the opencores MAC:
thanks for your response but I prefer using cores of xilinx because I think there are more references for them...
 

Do you mean that doesn't work in 14.7?!
yeah the core you mentioned from the embedded edition xps_ethernetlite was depricated in favor of a different axi4 based solution. I don't have the embedded edition of 14.7 installed so I can't be sure they don't just expect you to use the paid for TEMAC.

thanks for your response but I prefer using cores of xilinx because I think there are more references for them.
In that case you may just want to pay for the license, from what I recall it wasn't astronomical in price, but wasn't exactly a hobbyist or student type price (unless you're a wealthy ivy league school kid ;-)).
 
how can I be sure if ISE 14.7 exist in "xps_ethernetlite" ?
is existence of "xps_ethernetlite" in IP core generator in ISE sufficient?!(i didn't find that in IP CORE generator (ISE 14.7))
or i have to search in xps?(I did not work with xps up to now and i dont know if we can use cores there or not!!!:-?)
In that case you may just want to pay for the license, from what I recall it wasn't astronomical in price, but wasn't exactly a hobbyist or student type price (unless you're a wealthy ivy league school kid ).
how much does TEMAC cost?
this is my bachelor project and university will pay me for that :cool:
 

Turns out there is a version of the etherlite in XPS 14.7.

Capture.JPG

But that means you will have to do your design using XPS or at least have that core in an XPS design which you add to your top level HDL design.

I have no idea what TEMAC costs, you'll have to check with Xilinx sales, there is contact information in the licensing section of the core's datasheet.
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top