You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, Streamlet Definition Files support only the declaration of multiple streamlets as such:
Streamlet foo (
x : in Stream<Bits<2>>,
y : out Stream<Bits<2>>
)
Streamlet bar ...
In the internals of the generator tooling, one file is parsed to one library, containing the declared streamlets.
It would be nice to be able to define types, and use them across multiple libraries that reside in a single project.
Since the files do not only contain streamlet declarations, it would be nice to rename the files to .tydi file, and then be able to type something like the following.
For example, in some file: mills.tydi
type Wheat = Stream<Bits<1>>;
type Flour = Stream<Bits<4>>;
Streamlet windmill (
wheat : in Wheat,
flour : out Flour
)
And another file: bakery.tydi
use mills::Flour;
type Cookie = Stream<Bits<1>>;
Streamlet bakery (
flour : in Flour,
cookie : out Cookie
)
This means the type of the interfaces windmill.flour and bakery.flour are equal (their in/out mode is not part of the type), and can be connected if their mode corresponds accordingly.
However windmill.wheat and bakery.cookie do not have the same types. In other words, the windmill outputs the exact same type of Flour that the bakery can use as input, but Wheat is not a Cookie.
The text was updated successfully, but these errors were encountered:
Currently, Streamlet Definition Files support only the declaration of multiple streamlets as such:
In the internals of the generator tooling, one file is parsed to one library, containing the declared streamlets.
It would be nice to be able to define types, and use them across multiple libraries that reside in a single project.
Since the files do not only contain streamlet declarations, it would be nice to rename the files to .tydi file, and then be able to type something like the following.
For example, in some file:
mills.tydi
And another file:
bakery.tydi
This means the type of the interfaces
windmill.flour
andbakery.flour
are equal (their in/out mode is not part of the type), and can be connected if their mode corresponds accordingly.However
windmill.wheat
andbakery.cookie
do not have the same types. In other words, the windmill outputs the exact same type of Flour that the bakery can use as input, but Wheat is not a Cookie.The text was updated successfully, but these errors were encountered: