WIP 100BASE-TX PHY
Go to file
Sean Anderson 0495ae377c Add TX MAC (most of it)
This adds the transmit half of a MAC, supporting 100M and half-duplex.
It's roughly analogous to the axis_(x)gmii_tx modules in Alex
Forencich's ethernet repo. I've taken the approach of moving all state
into the state variable. All decisions are made once and have a
different state for each path. For example, instead of checking against
a "bytes_sent" variable to determine what to do on collision, we have a
different state for each set of actions.

This whole module is heinously complex, especially because of the many
corner cases caused by the spec. I have probably not tested it nearly
enough, but the basics of sending packets have mostly had the bugs wrung
out.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
2023-01-09 21:05:31 -05:00
LICENSES Add LFSR 2023-01-09 21:01:27 -05:00
lib Add LFSR 2023-01-09 21:01:27 -05:00
rtl Add TX MAC (most of it) 2023-01-09 21:05:31 -05:00
tb Add TX MAC (most of it) 2023-01-09 21:05:31 -05:00
.gitignore Add some more files to gitignore 2022-11-05 12:52:57 -04:00
.gitmodules Add LFSR 2023-01-09 21:01:27 -05:00
4b5b.gtkw Initial commit 2022-05-23 20:57:03 -04:00
CONTRIBUTING Add licenses 2022-11-05 12:50:12 -04:00
COPYING Add licenses 2022-11-05 12:50:12 -04:00
Makefile Add LFSR 2023-01-09 21:01:27 -05:00