clash-lang / clash-compiler

Haskell to VHDL/Verilog/SystemVerilog compiler
https://clash-lang.org/
Other
1.4k stars 147 forks source link

Add SGMII support to `clash-cores` #2727

Open jvnknvlgl opened 1 month ago

jvnknvlgl commented 1 month ago

Add support for connecting to Ethernet PHYs using SGMII to clash-cores. This is currently work in progress, and depends on #2738.

References: SGMII and IEEE 802.3.

Still TODO:

rowanG077 commented 1 week ago

I didn't look into the implementation just at the changed files. But is it possible to separate the 8b/10b encoding from SGMII? There are a ton of more uses for it.

jvnknvlgl commented 1 week ago

I didn't look into the implementation just at the changed files. But is it possible to separate the 8b/10b encoding from SGMII? There are a ton of more uses for it.

Should very much be possible, yes, and I think it would make sense to handle this as a separate PR as well to break things up a bit. Do note that this is not a very 'advanced' 8b/10b implementation as it's basically just two large lookup tables.

jvnknvlgl commented 1 week ago

I have moved the 8b/10b encoder and decoder to a different branch, see #2738.