pub trait Datapath {
type V: Clone;
// Required methods
fn input(&mut self, k: usize) -> Self::V;
fn constant(&mut self, c: i64) -> Self::V;
fn arith(&mut self, op: AluOp, a: Self::V, b: Self::V) -> Self::V;
fn select(
&mut self,
cmp: CmpKind,
ca: Self::V,
cb: Self::V,
t: Self::V,
e: Self::V,
) -> Self::V;
}Expand description
The datapath vocabulary a placed grid — or a straight-line cell body — is lowered through.