cucapra / cucapra/protocols

Wishbone B4 pipelined

Open
#290 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
15
Forks
0
Avg merge
6h 20m
Merged PRs (30d)
15

Description

The https://zipcpu.com/zipcpu/2017/11/07/wb-formal.html ZipCPU formal wishbone is for pipelined wishbone, not for classic (which seems to be what our read/write protocols in `examples/wishbone` is for and also not the burst mode wishbone. So I think if we want to compare to this SVA, we will need to come up with a pipelined wishbone protocol (if we can). Seems like the wishbone test version does something that looks like pipelining, but it doesnt look right for me because it still waits for the ack before forking.

Since in pipelined mode we will need to fork before the while loop waiting for the ack, it means that we will not be able to find a steady state without placing a bound on the pipeline depth. this might require a new `bound` annotation on while loops.

Contributor guide

No contributing guide indexed for this repository

Research direction

Read the existing protocols and examples/wishbone implementation, then compare its classic or burst behavior with the linked ZipCPU formal Wishbone/SVA description. Investigate the wishbone test version and the handling of while loops and fork points. Done requires a defined pipelined Wishbone protocol and a decided approach to bounding pipeline depth.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
embedded-iot, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.