Skip to content

[Synth] Enhance 3-input logic operations #10407

@uenoku

Description

@uenoku

Look at https://si2.epfl.ch/~demichel/publications/archive/2021/3Input.pdf, and introduce following operations that look useful.

synth.onehot (n input)
synth.mux_inv (3 input)
synth.majority (2*n+1 input)

Note that synth.majority is re-introduction of synth.mig.maj_inv but this time
the operation is simply one of 3-input logic operations, and is not considered as a primary target of homogeneous logic representation. So three shouldn't be no concern from the patent perspective (see #10152). Though we have to make sure not to introduce mig specific optimizations (specifically algebraic rewriting etc).

The addition of these operations can be done in a declarative way using BooleanLogicOpInterface.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions