google / google/xls

Avoid special handling of widthless wire/reg declaration in VAST

Open
#43 0 comments 0 reactions 0 assignees View on GitHub
codegen
Dominant language
C++
Stars
1.9k
Forks
283
Avg merge
2d 10h
Merged PRs (30d)
135

Description

In VAST we currently special cast single bit reg/wires when defining and indexing:

https://github.com/google/xls/blob/05ccc3b54a7b359fdc12963d064f3ee02aa6a30c/xls/codegen/vast.cc#L349
https://github.com/google/xls/blob/05ccc3b54a7b359fdc12963d064f3ee02aa6a30c/xls/codegen/vast.cc#L553

This produces:

```
wire foo;
```

instead of:

```
wire [0:0] foo;
```

and avoids invalid indexing of a widthless (single bit) wire/reg. However, it would be cleaner and less surprising if VAST didn't magically do this transformation under the hood. This belongs at a higher abstraction level such as modulebuilder.

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.