Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 17 additions & 5 deletions ethernet/RoCEv2/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,23 @@
# Hardware Implementation of RoCEv2 Engine
This folder contains files generated from Bluespec SystemVerilog (BSV) source code located in different repositories: [blue-rdma](https://github.com/datenlord/blue-rdma), [blue-crc](https://github.com/datenlord/blue-crc)
# All-VHDL Implementation of RoCEv2 Engine
This folder is an all-VHDL RoCEv2 stack. Its origin traces to Bluespec SystemVerilog (BSV) source
code from a different repository: [blue-rdma](https://github.com/datenlord/blue-rdma), by way of a
modified fork, [FilMarini/blue-rdma](https://github.com/FilMarini/blue-rdma).

## Description
The verilog files in the `blue-rdma` and `blue-crc` folders represent a hardware implementation of the RoCEv2 engine and a iCRC calculation engine, respectively.
These files have been generated from a modified version of the BSV sources. The forked repo with the modifed version can be found [here](https://github.com/FilMarini/blue-rdma)
`blue-lib` holds hand-written surf primitives that a maintainer may edit directly. Any edit must
keep the whole stack passing `make MODULES="$PWD" analysis` and the cocotb regression under
`tests/ethernet/RoCEv2/`, whose `test_RoCEv2AxiStreamRdma.py` simulates the assembled top level and
so exercises every primitive the engine instantiates. See `blue-lib/README.md` for the
primitive-by-primitive conversion status.

The modifications consists in:
`blue-rdma` holds machine-generated VHDL for the RoCEv2 RDMA engine. These files must never be
hand-edited; they are regenerated in the fork rather than edited in place. See
`blue-rdma/README.md` for the conversion record, the fork's commit, and what is and is not
proven about them.

The iCRC calculation is a hand-written VHDL engine under `rtl/` that generates its lookup tables at elaboration rather than reading checked-in table files.

blue-rdma's own origin modifies the upstream BSV sources as follows:

* **Receiving Path Removed**: The RoCEv2 engine's receiving path as well as support for RDMA-Read operations has been entirely removed.

Expand Down
7,330 changes: 0 additions & 7,330 deletions ethernet/RoCEv2/blue-crc/mkCrcRawAxiStreamCustomRecv.v

This file was deleted.

7,304 changes: 0 additions & 7,304 deletions ethernet/RoCEv2/blue-crc/mkCrcRawAxiStreamCustomSend.v

This file was deleted.

256 changes: 0 additions & 256 deletions ethernet/RoCEv2/blue-crc/tab/crc_tab_0.mem

This file was deleted.

Loading