I already checked opencores before posting this. Despite there is an Ethernet MAC controller project I wasn't able to find the full schematic description on how to interface the FPGA I/Os to the LAN Transformer.
The OpenCores Ethernet MAC connects to a "PHY" through the MII port. The "PHY" (physical interface) is the one that connects to the magnetics ("LAN Transformer").
I think several companies make PHYs now so that might help. PHYtec is one, SMSC might, have you checked around?
It's possible to make the PHY using an FPGA+discrete logic but I think it will be very hard. The Ethernet signals are multi-level and the PHYs typically have some kind of DLL/PLL architecture to synchronize with the data stream. It's not trivial to implement that.
I've thought about doing the same thing (more from an academic perspective) but that didn't really go anywhere.
You might want to pose your questions on FPGA related Ethernet issues to this newsgroup:
You could probably do 10Base-T transmit maybe 10Base-T receive but not
100Base-T and certainly not 1000Base-T. 10Base-T is manchester encoded. This is easy to generate and easy to decode. The device transmits only when a frame is being transmitted.
Even if you did not hit the 802.3 IEEE spec of around 5V output,(see section 14 of 802.3 I forget the exact subclause) most 10Base-T receivers would receive it as a valid signal. On the receive side, I don't know FPGAs too well. You would want use something like a schmidtt trigger at the pad..
100Base-T uses MLT-3 signaling, and transmits continuously on the TX pair since it recovers the clock from the waveform.
1000Base-T uses MLT-3 and PAM-5 signaling on all 4 pairs in both directions and requires lots of DSP to cancel out cross talk from other pairs and a sophisticated analog front end to convert the PAM signal to digital. Not possible.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.