[Libre-soc-dev] Wishbone B4 Streaming Specification, Bug 244

Luke Kenneth Casson Leighton lkcl at lkcl.net
Mon Nov 8 13:08:44 GMT 2021


On Mon, Nov 8, 2021 at 9:35 AM Abhishek Sharma
<abhisheksharma at object-automation.com> wrote:
>
> Hello All, I am new to this project.  I have briefly gone through
> https://bugs.libre-soc.org/show_bug.cgi?id=244, started reading Wishbone
> and AXI. Any suggestions for headstart.

hi abishek, thanks for getting in touch.

as you can see, i also went briefly over AXI stream:
https://bugs.libre-soc.org/show_bug.cgi?id=244#c2

you should also read up on the wishbone B4 specification
as to what the concept of "TAGs" means.  with that in mind,
below will make sense:

it really does look to be as simple as adding a couple of extra
tags, one to indicate "data bus is position code not data" and
another to indicate "data bus is NULL data, please ignore",
each on a per-byte-level basis.

however if you then look further down in the axi_stream.pdf
you will find that there are several *pages* describing "optional
behaviour".

this will be the majority of the "wishbone streaming" specification:
the "error handling" and "what to do when things are optional".

the fact that there are two tags:
* tag 1: data-or-position
* tag 2: data-is-NULL / data-is-not-NULL

means that there are FOUR possible combinations there of
behaviours:

* data non-NULL
* position non-NULL
* data NULL
* position NULL

and, furthermore, there are sixteen possible permutations of "options":

* master has data and NULL tags, slave has data and NULL tags
* master has data no NULL tags, slave has data and NULL tags
* master has no data but NULL tags, slave has data and NULL tags
* master has no data or NULL tags, slave has data and NULL tags
...
...
* master has no data or NULL tags, slave has no data or NULL tags

each of these combinations will need to be covered and described in the
specification, as to what behaviour is required when that situation is
encountered.

so although it is "very simple" (just add 2 extra tags) it is actually
quite a lot of implications and combinations.

l.



More information about the Libre-soc-dev mailing list