abs-tudelft / abs-tudelft/tydi

It is not clear whether "stai" and "endi" signals are significant when "strb" is low.

Đang mở
#223 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
🐬 specification
Ngôn ngữ chính
Rust
Star
15
Fork
5
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

## Issue

While https://abs-tudelft.github.io/tydi/specification/physical.html#data-signal-description indicates that `stai` and `endi` are redundant when C≥7 (which adds support for a per-lane `strb` (strobe) signal), it is not clear whether `stai` and `endi` are significant when `strb` is low, although this is implied.

At lower complexities (C<7) the `strb` signal still exists, but only as a single bit to indicate that the entire transfer's data is inactive.

For a concrete example, it is unclear what values `stai` and `endi` should have when transferring an "empty sequence".

## Assumed/Suggested Fix

`stai` and `endi` are insignificant when the `strb` of that index's data lane is driven low. (Which at C < 7, means that `stai` and `endi` are insignificant altogether when `strb='0'`.)

## Note/Potential Issue

Another potential issue might arise from a lack of clarity around `stai` and `endi` when C≥7. While the above `data` signal specification indicates that

> while a source that desires individual control over the lanes and thus has C≥7 would probably always drive `endi` to N−1 and `stai` to 0, a sink with complexity C≥7 still needs to accept input from sources that do use `endi` and `stai`.

This does not clarify whether a source with C≥7 _should_ employ `endi` and `stai` in such a way.

In the event that a source transfers
`stai: 0, endi: 0, strb: 11010`
do the `stai` and `endi` signals take precedence? (I.e., only lane 0 is truly active.)

Now, what about:
`stai: 0, endi: 0, strb: 01010`
Since lane 0 is now inactive, taking my suggested fix, `stai` and `endi` are insignificant and lanes 1 and 3 are active.

Hence, I propose specifying that
"`stai` and `endi` are only significant when _all_ `strb` bits are driven high"
As this still allows for sources with C<7 to be compatible with sinks with C≥7, but does not allow for sources with C≥7 to create confusing transfers.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

The issue is about clarifying the Tydi physical layer specification, specifically the interaction of 'stai', 'endi', and 'strb' signals. Review the specification document at https://abs-tudelft.github.io/tydi/specification/physical.html#data-signal-description and the related source code that defines these signals. The goal is to propose precise wording for the specification to resolve the ambiguity described.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Lĩnh vực
documentation
Loại issue
Tài liệu
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.