abs-tudelft / abs-tudelft/tydi

Transferring empty outer lists at lower complexities

オープン
#224 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
🐬 specification
主要言語
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 はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。