Skip to main content

logos_candidates

Function logos_candidates 

Source
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).