google / google/xls

[enhancement] add option to convert assert IR nodes into async-fatal-signal hardware

Open
#1,352 0 comments 0 reactions 0 assignees View on GitHub
codegen enhancement ir
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)

Right now `fail!`/`assert!` in the DSL only become assert ops in the IR that turn into Verilog/SV assertions. On some chips there are async fatal signals that a block can propagate. A useful transform could be to identify assertion nodes in the IR and turn them into async fatal hardware automatically.

### Current best alternative workaround (limit 100 words)

Currently users could create an explicit fatal signal as output using the same predicates they use in assertion operations.

### Your view of the "best case XLS enhancement" (limit 100 words)

Having the option to transform the assert IR operations automatically for either "all assert ops" or "some identified subset of assert ops" in the design.

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.