@@ -9,13 +9,17 @@ GitHub repository: https://github.com/alexforencich/verilog-ethernet
99Collection of Ethernet-related components for both gigabit and 10G packet
1010processing (8 bit and 64 bit datapaths). Includes modules for handling
1111Ethernet frames as well as IP, UDP, and ARP and the components for
12- constructing a complete UDP/IP stack. Includes full MyHDL testbench with
12+ constructing a complete UDP/IP stack. Includes MAC modules for gigabit and
13+ 10G and a 10G PCS/PMA PHY module. Also includes full MyHDL testbench with
1314intelligent bus cosimulation endpoints.
1415
1516For IP and ARP support only, use ip_complete (1G) or ip_complete_64 (10G).
1617
1718For UDP, IP, and ARP support, use udp_complete (1G) or udp_complete_64 (10G).
1819
20+ Top level gigabit and 10G MAC modules are eth_mac_ * , with various interfaces
21+ and with/without FIFOs. Top level 10G PCS/PMA PHY module is eth_phy_10g.
22+
1923## Documentation
2024
2125### arp module
@@ -156,7 +160,27 @@ bits.
156160Ethernet frame muliplexer with parametrizable data width and port count.
157161Supports priority and round-robin arbitration.
158162
159- ### gmii_phy_if
163+ ### eth_phy_10g module
164+
165+ 10G Ethernet PCS/PMA PHY.
166+
167+ ### eth_phy_10g_rx module
168+
169+ 10G Ethernet PCS/PMA PHY receive-side logic.
170+
171+ ### eth_phy_10g_rx_ber_mon module
172+
173+ 10G Ethernet PCS/PMA PHY BER monitor.
174+
175+ ### eth_phy_10g_rx_frame_sync module
176+
177+ 10G Ethernet PCS/PMA PHY frame synchronizer.
178+
179+ ### eth_phy_10g_tx module
180+
181+ 10G Ethernet PCS/PMA PHY transmit-side logic.
182+
183+ ### gmii_phy_if module
160184
161185GMII/MII PHY interface and clocking logic.
162186
@@ -217,7 +241,7 @@ Supports priority and round-robin arbitration.
217241
218242Fully parametrizable combinatorial parallel LFSR/CRC module.
219243
220- ### rgmii_phy_if
244+ ### rgmii_phy_if module
221245
222246RGMII PHY interface and clocking logic.
223247
@@ -285,12 +309,20 @@ UDP frame transmitter with 64 bit datapath for 10G Ethernet.
285309UDP frame muliplexer with parametrizable data width and port count.
286310Supports priority and round-robin arbitration.
287311
288- ### xgmii_deinterleave.v
312+ ### xgmii_baser_dec_64 module
313+
314+ XGMII 10GBASE-R decoder for 10G PCS/PMA PHY.
315+
316+ ### xgmii_baser_enc_64 module
317+
318+ XGMII 10GBASE-R encoder for 10G PCS/PMA PHY.
319+
320+ ### xgmii_deinterleave module
289321
290322XGMII de-interleaver for interfacing with PHY cores that interleave the
291323control and data lines.
292324
293- ### xgmii_interleave.v
325+ ### xgmii_interleave module
294326
295327XGMII interleaver for interfacing with PHY cores that interleave the control
296328and data lines.
@@ -376,6 +408,10 @@ and data lines.
376408 rtl/udp_ip_tx.v : UDP frame transmitter
377409 rtl/udp_ip_tx_64.v : UDP frame transmitter (64 bit)
378410 rtl/udp_mux.v : UDP frame multiplexer
411+ rtl/xgmii_baser_dec_64.v : XGMII 10GBASE-R decoder
412+ rtl/xgmii_baser_enc_64.v : XGMII 10GBASE-R encoder
413+ rtl/xgmii_deinterleave.v : XGMII data/control de-interleaver
414+ rtl/xgmii_interleave.v : XGMII data/control interleaver
379415
380416### AXI Stream Interface Example
381417
@@ -468,6 +504,7 @@ individual test scripts can be run with python directly.
468504
469505 tb/arp_ep.py : MyHDL ARP frame endpoints
470506 tb/axis_ep.py : MyHDL AXI Stream endpoints
507+ tb/baser_serdes.py : MyHDL 10GBASE-R SERDES endpoints
471508 tb/eth_ep.py : MyHDL Ethernet frame endpoints
472509 tb/gmii_ep.py : MyHDL GMII endpoints
473510 tb/ip_ep.py : MyHDL IP frame endpoints
0 commit comments