llvm / llvm/circt

Consider generating `iff` in always blocks

Open
#377 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.2k
Forks
524
Avg merge
3d 2h
Merged PRs (30d)
46

Description

Verilog has syntax to allow writing things like:

`always @(clock iff someValue == 1) `

Which is a combination of an `sv.always` and `sv.if` block, which we frequently generate. As part of polishing the Verilog output we should decide if it is a good idea to fold these.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how the existing Verilog output handles always blocks alongside the sv.always and sv.if combination named in the issue. Determine whether folding them into Verilog's always ... iff syntax is appropriate, then document the decision and any required output changes.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.