Module halo2_frontend::circuit

source ·
Expand description

Traits and structs for implementing circuit components.

Re-exports§

Modules§

  • Implementations of common circuit floor planners.
  • Implementations of common circuit layouters.

Structs§

  • An assigned cell.
  • A pointer to a cell within a circuit.
  • This is a “namespaced” layouter which borrows a Layouter (pushing a namespace context) and, when dropped, pops out of the namespace context.
  • A region of the circuit in which a Chip can assign cells.
  • Index of a region in a layouter
  • Starting row of a region in a layouter
  • A table layouter that can be used to assign values to a table.
  • A lookup table in the circuit.
  • A value that might exist within a circuit.
  • Witness calculator. Frontend function

Traits§

  • A chip implements a set of instructions that can be used by gadgets.
  • A layout strategy within a circuit. The layouter is chip-agnostic and applies its strategy to the context and config it is given.
  • Helper trait for implementing a custom Layouter.

Functions§

  • Compile a circuit. Runs configure and synthesize on the circuit in order to materialize the circuit into its columns and the column configuration; as well as doing the fixed column and copy constraints assignments. The output of this function can then be used for the key generation, and proof generation. If compress_selectors is true, multiple selector columns may be multiplexed.