abs-tudelft / abs-tudelft/tydi

Requirements when C<5, Dimensionality = 0 and Throughput > 1

Ouverte
#226 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
🐬 specification
Langage dominant
Rust
Étoiles
15
Forks
5
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## Background

https://abs-tudelft.github.io/tydi/specification/physical.html#signal-omission

Specifies that:
* `stai` is contingent on C≥6∧N>1
* `endi` is contingent on (C≥5∨D≥1)∧N>1
* `strb` is contingent on C≥7∨D≥1

## Potential Issue

As a result of these requirements, a Stream with C<5, D=0 and element lanes N>1 should not have an `endi` signal.
This means that all lanes in a transfer _must_ be valid, as there is no way to set individual lanes as being inactive.

## Suggested Fix

The current specification implies that any transfer with C<5, D=0, N>1 must consist of Q elements where `Q mod N = 0`.

It is not clear whether this is intentional, I can think of two other ways in which to make behavior consistent:
1. N>1 is contingent on D>0∨C≥5 - i.e., it is not allowed to transfer multiple elements at the same time except in a list or at higher complexities.
2. `endi` is solely contingent on N>1 - i.e., it is always allowed to transfer multiple elements, and `endi` can be used to encode lane validity when sequences do not align to the number of element lanes.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Review the specification at the provided URL, focusing on the signal omission rules for stai, endi, and strb. Understand the implications for streams with C<5, D=0, N>1. Examine the codebase for how these signals are implemented or validated. Determine if the current behavior matches the spec and which of the suggested fixes aligns with the project's intent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
documentation
Type d'issue
Documentation
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.