abs-tudelft / abs-tudelft/tydi
Transferring empty outer lists at lower complexities
- 主要言語
- Rust
- スター
- 15
- フォーク
- 5
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
## Background
https://abs-tudelft.github.io/tydi/specification/physical.html#last-signal-description
> [C<4] It is illegal to assert a `last` bit for dimension j without also asserting the `last` bits for dimensions j′
> [C<4] It is illegal to assert the last bit for dimension 0 when the respective data lane is inactive, except for empty sequences.
The first rule suggests that at C<4, and (as an example) D=3, it is not possible to assert `last="100"` or `last="110"`, or `last="010"`).
## Issue
This means that at C<4, it is illegal to transfer empty outer lists, which in turn means that Stream complexity has an effect on the _kinds of data_ transferred.
For instance, the example given in the last signal description for C≥8, D=2
`["Hello", "World"], ["Tydi", "is", "nice"], [""], []`
makes use of an empty outer list (the last element, `[]`). This requires asserting `last="10"`.
## Suggested Fix
It is not clear whether this is intentional. However, I am of the opinion that Stream properties should not affect the kind of data which can be transferred.
As such, I recommend amending the first rule in the Background section of this issue to also include an exception for empty sequences.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
評価
この issue はまだ評価されていません。