google / google/xls

[enhancement] revise channel fifo depth syntax

Open
#1,561 4 comments 0 reactions 0 assignees View on GitHub
dslx enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.