Boolean Function Evaluation Using Differential XOR Accumulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processing systems face challenges in efficiently evaluating Boolean functions due to their complex nature, which impacts performance and computational complexity, particularly when using tabulation or transformation techniques like ANF/CNF/DNF.

Innovation Solution

A processing system employing a differential calculation unit to calculate differentials Δf(y) = f(y) ⊕ f(y - 1), an accumulation unit to sum the product of Δf(y) and c2n−yx using XOR, and a XOR adder to evaluate Boolean functions efficiently, leveraging the Guilley Transform to reduce complexity and speed up evaluations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If tabulation technique is used to evaluate Boolean functions, then evaluation is straightforward, but memory consumption becomes excessively high

Engineering Contradiction:
Improveevaluation simplicityVSAvoidmemory consumption
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential information needed for evaluation by computing differential values Δf(y) = f(y) ⊕ f(y-1), which capture the change in function output. This differential representation condenses the truth table information into a compact form that requires minimal storage while preserving all necessary evaluation data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms the evaluation problem from direct truth table lookup into a differential domain. By representing the Boolean function through its differential values and using the accumulation formula with carry operations, the system shifts from a memory-intensive spatial representation to a computational approach that trades minimal storage for efficient calculation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If transformation technique (ANF/CNF/DNF) is used to evaluate Boolean functions, then systematic evaluation is achieved, but computational complexity increases due to unnatural basis vector evaluations

Engineering Contradiction:
Improvesystematic evaluationVSAvoidcomputational complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent changes the representation parameters of the Boolean function from traditional bases (ANF, CNF, DNF) to a differential representation. By defining Δf(y) = f(y) ⊕ f(y-1) and using the accumulation formula involving carry operations, the system transforms the evaluation into a sequence of simple XOR and carry computations, reducing the complexity from evaluating complex monomials or minterms to basic arithmetic operations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent substitutes the mechanical process of evaluating complex Boolean expressions (monomials, maxterms, minterms) with a simpler arithmetic mechanism based on carry propagation. The evaluation reduces to computing carries in arithmetic addition and accumulating results via XOR, replacing complex logical evaluations with straightforward arithmetic operations that are more efficient to implement.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Extent of automation

If conventional Boolean function evaluation is used, then existing processing operations are maintained, but performance and evaluation speed are degraded

Engineering Contradiction:
Improveprocessing operation continuityVSAvoidevaluation speed
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The patent performs preliminary computation of differential values Δf(y) for all y from 1 to 2^n-1. These differential values are precomputed and stored in a compact array, enabling the actual function evaluation to proceed rapidly by simply accumulating these precomputed values with carry operations, rather than computing the full Boolean expression from scratch during evaluation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the Boolean function evaluation into two distinct phases: (1) precomputation of differential values Δf(y) = f(y) ⊕ f(y-1), and (2) rapid evaluation through accumulation of these differentials weighted by carry values. This segmentation allows the computationally intensive part to be done once, while subsequent evaluations use only the lightweight accumulation step, dramatically improving speed for multiple evaluations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4597301A1A processing system and method for fast evaluation of a boolean function
Publication Date: 2025.08.06 SECURE IC
  • EP4597301A1 patent drawingFigure 1
  • EP4597301A1 patent drawingFigure 2
  • EP4597301A1 patent drawingFigure 3

AI summary

There is provided a processing system (1) configured to execute one or more processing operations, the execution of said one or more processing operations involving the evaluation of at least one Boolean function. The processing system comprises an evaluation device (20) configured to evaluate each Boolean function f defined from F2n over F2, in a variable x of length n over F2n. The evaluation device (20) comprises: - a differential calculation unit (203) configured to calculate differentials Δf(y) = f(y) ⊕ f(y - 1) for each integer intermediary variable y ranging from 1 to 2n - 1; - An accumulation unit (201) configured to sum, using the XOR operator, the product of the differential Δf(y) and cn2n−yx for each value of y ranging from 1 to 2n - 1, according to the following XOR accumulation term ⊕y=12n−1Δfycn2n−yx, where cnzx is the function associating x to the outbound carry of arithmetic summation x + z ; - A XOR adder (204) configured to add f(0) to the result of the accumulation unit (201), wherein the output of the XOR adder provides the result of the evaluation of the Boolean function f.