[Synth] Enhance 3-input logic gate
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 524
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Description
Look at https://si2.epfl.ch/~demichel/publications/archive/2021/3Input.pdf and introduce a few operations that would be benefitial target of exact synthesis.
```
synth.onehot (n-input)
synth.mux _inv (3-input + per-input inverter)
synth.majority (2*n+1 input, 3, 5,..) Note that this is re-introduction of synth.mig.maj_inv. This time majority operation is not framed as a primary target of homogeneous logic representation.
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Read the linked 3-input logic-gate paper, then inspect the existing synth.mig.maj_inv operation and related exact-synthesis targets. Determine how synth.onehot, synth.mux with per-input inversion, and variable-input synth.majority should be represented; done means these operations are available as exact-synthesis targets for their stated input sizes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100