Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tydi TODO #24

Open
jvanstraten opened this issue Mar 10, 2020 · 0 comments
Open

Tydi TODO #24

jvanstraten opened this issue Mar 10, 2020 · 0 comments
Assignees
Labels
🐬 specification Item related to the specification

Comments

@jvanstraten
Copy link
Contributor

The following things have come up that are either broken or aren't very nice about the current specification.

  • Asynchronous signals cannot be reversed (Non-stream signal reversibility #23). Proposed solutions:
    • Make reversal part of fields instead of Stream nodes. (This is problematic because at best it introduces implicit streams again. It also means tools cannot reasonably place registers/clock domain crossings automatically.)
    • Remove the signals from the specification, but add a separate type system (based on Tydi, bit supporting reversal) for user-defined signals.
    • Keep the current specification for signals that tools may insert registers into, but add a separate type system (based on Tydi) for user-defined signals that supports reversal that the tools don't do anything with.
  • Order of asynchronous signals and streams is not maintained.
  • The user-friendly representation notes should be removed. This and any requirements on field names beside uniqueness are entirely in user control. Code generators are considered to be users in this context; this means that generators may impose additional constraints.
  • Add a flag to Stream nodes and to physical streams that specifies whether empty sequences are supported or not.
  • Maybe add a note that Tuple(N, T) may be used as a shorthand for Group(0: T, 1: T, ..., N-1: T).
@jvanstraten jvanstraten added the 🐬 specification Item related to the specification label Mar 10, 2020
@jvanstraten jvanstraten self-assigned this Mar 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐬 specification Item related to the specification
Projects
None yet
Development

No branches or pull requests

1 participant