[enhancement] revise channel fifo depth syntax
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 283
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 135
Description
### What's hard to do? (limit 100 words)
The way we set channel fifo depth doesn't feel coherent w/ the rest of DSLX syntax
Depth is currently set as the second arg of the channel type declaration, ex:
```
let (data_s, data_r) = chan("data");
```
But it doesn't need to be set on the type of the lhs `let` binding.
i.e: in this example: the type for `data_r` is `chan in` not `chan in`.
### Current best alternative workaround (limit 100 words)
None.
### Your view of the "best case XLS enhancement" (limit 100 words)
- if we want to make this a "property" of the channel construction we should probably use a regular argument maybe with a builtin `FifoConfig` type ideally inferred from a struct literal:
```
let (data_s, data_r) = chan("data", { depth: u32:1 });
```
- if we want to make this a "property" of the channel type we should propagate it all the way thru thru all `proc` and `let` bindings.
Contributor guide
Assessment
This issue has not been assessed yet.