The CH32V307 can also do Gigabit Ethernet
The SRAM should be able to support 400-500 MB/s total bandwidth, so it's not impossible. But only having 64 KB of it means you can only buffer about half a millisecond of data -- about 40 packets, maximum.
Of course if "I need gigE" just means "100Base-T isn't quite fast enough" than that makes things 5-10 times easier.
Just bumping this thread as a sort of follow-up, as I've been looking for such a solution myself as of late.
I've evaluated the CH32V307 with an external Gigabit PHY (on a CH32V307V-
R2 eval board), and things are interesting.
To get started quickly, I first went with WCH's WCHNET library which implements a full TCP/IP stack (but is unfortunately closed source, they only distribute the library in binary form). It did work. It has some quirks, but for a quick solution, it does work. Performance was not exceptional, as we could expect. I was able to max out at about 12 MBytes/s in both directions using TCP. May be considered not bad for a 144 MHz MCU. But it's just like the max you can get with a 100 Mbps link - something that the CH32V317 provides with an internal 100M PHY.
But, not willing to accept we couldn't do better, I wanted to try and get the most of it by writing my own stack. It doesn't support TCP (yet), but otherwise supports everything needed for UDP. I achieved a sustained raw throughput (UDP payloads) of about 116 MBytes/s, which is close to the maximum achievable on Gigabit ethernet. To get that, I had to enable the checksum offloading that the embedded MAC supports. Works quite well. (With software-computed checksums, throughput was down to 41 MBytes/s.)
Latency is not too shabby either:
--- 192.168.1.7 ping statistics ---
100 packets transmitted, 100 received, 0% packet loss, time 10296ms
rtt min/avg/max/mdev = 0.060/0.083/0.199/0.020 ms
Of course, that's raw throughput, and any protocol on top of UDP will have overhead and eat up some of that throughput - still, that confirms that this $3 MCU with a $1 PHY can achieve pretty amazing stuff.
As to other MCUs with Gigabit MACs, there's the iMX RT 1170 and 1180 series, now the STM32N6 as well (same price range). Others that I'm less familiar with, from TI and Infineon.
Back to WCH, note that the CH32V307 is the only MCU they have with a Gigabit MAC. The CH32V317, which has a 100M PHY, only has a 10M/100M MAC.
Even the newer kid, the CH32H417, only has a 100M MAC. That's too bad. I'm guessing that the Gigabit MAC of the CH32V307 didn't meet a market and so they must have decided that there was no point adding one (which is likely slightly more expensive in terms of IP and die area) in newer MCUs.