pub fn logos_candidates(
id: &str,
) -> Result<Vec<(Candidate, Vec<(String, String)>)>, QorError>Expand description
Every LOGOS candidate of kernel id, the default first. K1 has the decision fabric in registers, sequenced one
cell a cycle, pipelined one carry chain to a stage for a fabric with carry chains (fabric_pipe::decision_ops,
DECISION_CHAIN_BUDGET), pipelined for standard cells (each compare’s sums folded into it, DECISION_CELLS_BUDGET,
its ports read), and hoisted into one clock (select_hoist, its sums folded into the compares that read them, its
ports read). K4 has the Keccak core
a round a clock and a half round a clock (keccak_core_half). K2 has the residual in registers, sequenced one cell
a cycle, and pipelined (fabric_pipe, the RTL the fabric_horner_seq block hardens). K5 has the butterfly in
registers and its pipeline registered once a multiply and after every step. K6 has one per lane multiply strategy:
the sequential shift-add (the signoff-clean default), the two-stage decomposed FMA, the single-cycle
combinational multiply and the streamed shared multiply, and the engine’s step on ports (simt_ports).