WIP 100BASE-TX PHY
Go to file
Sean Anderson 16b639aad2 Add MII elastic buffer
In order to move data between MIIs without implementing a MAC, we need
some kind of elastic buffer to bring the data into the transmit "clock
(enable) domain." Implement one. It's based on a classic shift-register
FIFO, with the main difference being the MII interfaces and the
elasticity (achieved by delaying asserting RX_DV until we reach the
WATERMARK). We use a register-based buffer because we only need to deal
with an under-/over-flow of 5 or so clocks for a 2000-byte packet. The
per-stage resource increase works out to 6 FFs and 1 LUT, which is
pretty much optimal.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
2023-02-12 19:53:44 -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 MII elastic buffer 2023-02-12 19:53:44 -05:00
tb Add MII elastic buffer 2023-02-12 19:53:44 -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 MII elastic buffer 2023-02-12 19:53:44 -05:00