jvm.chisel.db.scan

SIMD scan/filter operator.

For each lane i: matchi = validMaski AND (every predicate holds on valuesi). Predicates are (op constant) pairs, e.g. [:eq c0 :gte c1]. PredicateEq is the special case of a single :eq predicate.

scan-module

(scan-module {:keys [lanes width preds name], :or {name "Scan"}})

Build a scan module. opts: {:lanes n :width w :preds [:eq 0 :gte 1 …] :name “Scan”}. One constant input port c0, c1, … is created per predicate.

scan-ref

(scan-ref values valid-mask preds)

Reference model. values = seq of int lane values, valid-mask = int bitmask, preds = seq of op-kw const. Returns the match bitmask (int, lsb-first).