EtherBone (Wishbone over Ethernet) cosimulation with gRPC¶
subdir eb-grpc
# First, build DBHI/gRPC resources `server`, `libgrpc-go.so` and `libgrpc-go.h`:
cd dbhi-grpc
docker build -t dbhi/grpc - < Dockerfile
docker run --rm -v $(pwd):/wrk -w /wrk dbhi/grpc make all
cd ..
# Then, build the `manager` and `unit` clients in VHDL using foreign C, and test them along with the server:
docker run --rm -t -v $(pwd):/wrk -w /wrk ghcr.io/hdl/debian/bookworm/sim/osvb sh -c './run.py -v && ./cosim.py -v; ./test.sh'
TBC
References¶
inis.iaea.org/records/1eg3q-jg233: ETHERBONE - a network layer for the wishbone SoC bus
icalepcs2011/talks/webhmult03: EtherBone – A Network Layer for the Wishbone SoC Bus
https://mithro-wishbone-utils.readthedocs.io/en/latest/libeb-c.html
https://renode.readthedocs.io/en/latest/tutorials/fomu-example.html
https://wiki.gsi.de/TOS/Timing/TimingSystemHowBuildingDeployment