[ExportVerilog] Unnecessary temporary for bind
Open
Verilog Quality
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 524
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Description
When a bind (well, the instance for the bind) is emitted, expressions are spilled to wires. The assignment of the expression to these wires is often spilled, leading to:
```
wire foo;
wire _T;
assign _T = expr;
assign foo = _T;
```
This extra assignment is really ugly and unnecessary.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in the ExportVerilog implementation at the code that emits bind instances and spills expressions to wires. Trace how the wire assignment is generated; done means a bind expression is emitted without the redundant intermediate wire assignment while preserving the necessary connection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100