5
\$\begingroup\$

I have been looking for a solution to "disconnect" an ethernet cable from a port without physically disconnecting it.

I'm doing this since I want to reduce power consumption in a project I'm working on which includes an FPGA with an ethernet port. Physically disconnecting the ethernet cable is the only way of turning of the ethernet port on the FPGA, which consumes a pretty large amount of power.

I haven't found anyone doing something similar when looking for an answer. I might have a solution and were just wondering if it's viable or if someone has a better one.

enter image description here

What is the drawback of simply letting the ethernet cable going through a transistor? If the switch activity is low, the parasitics of the MOSFET shouldn't be a problem, or am I wrong here?

\$\endgroup\$
  • 2
    \$\begingroup\$ I would rather use relays for that, the diode in the fets and removing the galvanic isolation doesn't sound like a good idea \$\endgroup\$ – PlasmaHH Apr 10 '18 at 9:05
  • \$\begingroup\$ Shouldn't ethernet be isolated? Your MOSFET breaks this isolation. I don't know what impact it will have on impedances either. \$\endgroup\$ – Joren Vaes Apr 10 '18 at 9:05
  • \$\begingroup\$ In addition, there are these things called "lag switches" that are used (but generally considered cheating) by some gamers. Perhaps this could be used here too. \$\endgroup\$ – Joren Vaes Apr 10 '18 at 9:07
  • 8
    \$\begingroup\$ If you're already using an FPGA, surely you can just put the Ethernet controller into reset. \$\endgroup\$ – Tom Carpenter Apr 10 '18 at 9:24
  • 3
    \$\begingroup\$ So this is not an FPGA with an ethernet port. It's an ASIC containing a lot of things, for example an FPGA and an ethernet controller. This part of the question is a bit confusing. \$\endgroup\$ – pipe Apr 10 '18 at 12:33
5
\$\begingroup\$

Frame challenge, you're starting from a wrong premise:

Physically disconnecting the ethernet cable is the only way of turning of the ethernet port on the FPGA, which consumes a pretty large amount of power.

is not true. If you know you would be fine disconnecting the cable, you can also:

  • force the core into reset
  • stop clocking the core using clock gating
  • Countless other things, depending on how you implemented/copied the ethernet core

Messing with the Physical layer of the signals should be your last resort. Being forced to take this route shouts that you messed up your earlier design decisions and are better off going back to solve these.

As mentioned by Peufeu: if your PHY is a separate controller, just reset this. I assumed it wasn't, but it's not completely clear from your diagram that it necessarily isn't.

\$\endgroup\$
  • 4
    \$\begingroup\$ also consider turning off the PHY if it's a separate component \$\endgroup\$ – peufeu Apr 10 '18 at 9:53
  • 1
    \$\begingroup\$ Yes of course the first thing I tried was to disable the ethernet jack from the FPGA. However, I have been in contact with the company which makes the FPGA (Orange tree Tech), and know that there does not currently exist a way to control the ethernet PHY since its controlled by a custom ASIC. The FPGA used is: orangetreetech.com/products/gigabit-ethernet-boards/zestet2-nj \$\endgroup\$ – user2876482 Apr 10 '18 at 10:32
  • 4
    \$\begingroup\$ @user2876482 You're referring to the whole board as an "FPGA" when in fact, the FPGA is just the Artix-7. The manufacturer seems to refer to this as an "FPGA module". I strongly suggest that you edit your original question to identify the board you're using, and would even paste their block diagram at the top of your post. The fact that their ASIC controls the PHY seems to be the problematic part. \$\endgroup\$ – Jonathon Reinhart Apr 10 '18 at 11:12
  • \$\begingroup\$ Yes I know that the ASIC was the problem which is why I didn't go into details about the FPGA, which is why I was looking for a solution outside the FPGA. \$\endgroup\$ – user2876482 Apr 10 '18 at 11:19
  • \$\begingroup\$ @user2876482 Since you're already in contact with the manufacturer, you could ask if the ASIC's user CPU has control over the main CPU/IPv4 offloading. Maybe you could go from there. Otherwise you're probably better off switching boards to a more sensible manufacturer. \$\endgroup\$ – DonFusili Apr 10 '18 at 11:26

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.