
Boolean Relations: Extracting Functions for Solutions
Uncover the power of extracting functions from Boolean relations with Jordi Cortadella from Universitat Politècnica de Catalunya. Dive into examples and methodologies for deriving functions from binary sets to develop efficient solutions.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Extracting Functions from Boolean Relations Jordi Cortadella Universitat Polit cnica de Catalunya
Boolean relation: example a b c f 0 1 0 1 0 1 0 a b c 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 ? x f ? a y b z c ? ? = ?? + ?? ? a c b 3/22/2025 Extracting functions from BRs 2
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 a b c 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 ? x f ? a b y z c ? ? = ?? + ?? ? a c b 3/22/2025 Extracting functions from BRs 3
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 x 0 y z 0 ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 4
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 x 0 0 0 y 0 0 z 0 0 0 ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 5
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 x 0 0 0 0 y 0 0 z 1 0 0 ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 6
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 | 01 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 x 0 0 | 01 0 0 y 0 0 | 01 z 1 0 0 | 01 ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 7
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 | 01 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 x 0 0 | 01 1 y 0 0 | 01 z 0 0 0 | 01 ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 8
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 | 01 1 0 0 0 | 01 1 0 0 0 | 01 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 x 1 y z 0 1 0 0 0 | 01 ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 9
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 | 01 1 0 0 0 | 01 1 0 0 0 | 01 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 x 1 1 y z 1 1 0 0 0 | 01 ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 10
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 | 01 1 0 | 11 0 0 | 01 1 0 | 11 0 0 | 01 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 x 1 1 y z 1 1 0 | 11 0 0 | 01 ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 11
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 | 01 1 0 | 11 0 0 | 01 1 0 | 11 0 0 | 01 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 x y z 1 0 | 11 0 0 | 01 ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 12
Boolean relation: example x y z a b c f 0 1 0 1 0 1 0 0 0 | 01 1 0 | 11 0 0 | 01 1 0 | 11 0 0 | 01 1 0 | 11 0 0 | 01 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 x y z ? = ?? + ?? ? 3/22/2025 Extracting functions from BRs 13
Boolean relation: example x y z a b c a b c 0 0 | 01 1 0 | 11 0 0 | 01 1 0 | 11 0 0 | 01 1 0 | 11 0 0 | 01 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 ? x f ? a b y z c ? a c b 3/22/2025 Extracting functions from BRs 14
Boolean relation: example a x f c x y z a b c y 0 0 | 01 1 0 | 11 0 0 | 01 1 0 | 11 0 0 | 01 1 0 | 11 0 0 | 01 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 z b x f a a b y z c x c f y b z a 3/22/2025 Extracting functions from BRs 15
BR: characteristic function 3/22/2025 Extracting functions from BRs 16
Solving a Boolean Relation 3/22/2025 Extracting functions from BRs 17
Solving a Boolean Relation 3/22/2025 Extracting functions from BRs 18
Exact 2-level solvers The concept of prime must be redefined F. Somenzi and R.K. Brayton (1989) Method similar to Quine-McCluskey Extension of primes to c-primes S. Jeong and F. Somenzi (1992) Formulate the problem as a Binate Covering Problem 3/22/2025 Extracting functions from BRs 19
Heuristic 2-level solvers Based on ESPRESSO: A. Ghosh, S. Devadas and A. R. Newton (1992) Y. Watanabe and R. K. Brayton (1993) GYOCRO x:=Initial Solution; do REDUCE(x); EXPAND(x); IRREDUNDANT(x); while x is improved; 3/22/2025 Extracting functions from BRs 20
Modern approaches Jie-Hong R. Jiang, Hsuan-Po Lin and Wei-Lun Hung, Interpolating Functions from Large Boolean Relations, ICCAD 2009. David Ba eres, Jordi Cortadella, and Mike Kishinevsky, A Recursive Paradigm to Solve Boolean Relations, DAC 2004.
Subclasses of Boolean Relations a b x y a b x y a b x y 10 11 01 00 01 10 11 10 11 1 00 01 10 11 10 00 01 10 11 00 | 11 1 1 |1 10 Completely Specified Functions Incompletely Specified Functions General Boolean Relations We have efficient ISF solvers 3/22/2025 Extracting functions from BRs 22
ISF solvers exact, expensive ?? (? inputs inputs,? output output) Quine-McCluskey (SOP, exact) DC Scherzo (SOP, ZDDs) Off Espresso (SOP, heuristic) On Minato-Morreale (BDDs) ? Craig Interpolation (AIG, SAT) inexpensive, inexact 3/22/2025 Extracting functions from BRs 23
Example ?? ?? ?? ?? ?? ?? ?? ?? {??} ?? ?? ?? ?? ?? ? ?? {??,??} ?? ?? ?? ?? ?? ?? {??,??,??} ?? ?? ?? ?? ?? ?? {??} ?? ?? ?? ?? ?? ? = ? + ? ? = ? ? = ? ? = ?? ? = ? ? = ? ? = ? ? = ? + ? Decoupling individual functions ?? ? ?? ?? ?? ?? ? ???(?) ?? ?? ???(?) ?? ?? 3/22/2025 Extracting functions from BRs 24
Decoupling the outputs ?? ?? ?? ?? ?? ?? ?? ?? {??} ?? ?? ?? ?? ?? ? ?? {??,??} ?? ?? ?? ?? ?? ?? {??,??,??} ?? ?? ?? ?? ?? ?? {??} ?? ?? ?? ?? ?? ? = ? ? = ? ? = ? ? = ? ? = ? ? = ? ? = ? ? = ? Decoupling individual functions ?? ?? = ???,?,?,? ??(?,?,?,?) ?????,?,? = ? ???,?,?,? ?? ?? ???(?) ?? ?????,?,? = ? ???,?,?,? ?? = ???,?,?,? ??(?,?,?,?) ?? ?? Easy implementation with BDDs or AIGs 3/22/2025 Extracting functions from BRs 25
Decoupling the outputs ?? ?? ?? ?? ?? ?? ?? ?? {??} ?? ?? ?? ?? ?? ? ?? {??,??} ?? ?? ?? ?? ?? ?? {??,??,??} ?? ?? ?? ?? ?? ?? {??} ?? ?? ?? ?? ?? ? = ? ? = ? ? = ? ? = ? ? = ? ? = ? ? = ? ? = ? Decoupling individual functions ????(?,?,?) ?? ?? ?? ?? ???(?) ?? ? ? ?? ? ? ? ? ? ? ? ? ?? ?? ? ? 3/22/2025 Extracting functions from BRs 26
ICCAD 2009: Reduce and substitute ?? ??? ?? ? ?? ?? ?? ??? ?? ? ?? ?? ? ? ??,? ? ?,? ??,? ?? ?? ?? ?? ???,???,??? ?? ?? ?? ??? ?? ? ?? ?? ISF solver (interpolation) ?? ??? ?? ?? ?? ? ?? ??? ?? ?? ? ?? ? Subs Subs ? Subs Subs ? ?? ??? ?? ?? ? ?? ??? ?? ?? ?? ? ?? ??? ?? ?? ?? ? ? = ? ? = ? ? = ? ? ? = ? ? = ? ? = ? 3/22/2025 Extracting functions from BRs 27
ICCAD 2009: Reduce and substitute ?? ??? ?? ?? ??? ? = ? ? = ? ? = ? ? ?? ??? ?? ??? ?? ??? ?? ??? ?? ??? The final result depends on the order of the reductions ??,? ? ?? ?? ???,???,??? ?? ??? ?? ??? ? = ? + ? ? = ? ? = ? ?? ??? ?? ?? ??? ?? ??? ?? ??? abstractions: using AIGs ISF minimization: using Craig interpolation 3/22/2025 Extracting functions from BRs 28
x y a b 00 01 10 11 00 01 10 11 Boolean relation 3/22/2025 Extracting functions from BRs 29
00 01 10 11 00 01 10 11 3/22/2025 Extracting functions from BRs
00 01 10 11 00 01 10 11 3/22/2025 Extracting functions from BRs
00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 01 10 01 11 ?? ?? 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 Semi Semi lattice lattice 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 Functions ? = ? ? ? = ? ? = ? ? 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 ? = ?? ? = ? ? = ? ? = ? ? ? = ? + ? ? = ?? ? = ? + ? ? = ? ? = ? ? ? = ? ? ? = ? + ? ? = ? + ? ? = ? ? 3/22/2025 Extracting functions from BRs
Maximum flexibility ?? 00 01 10 11 ?? ?? ?? Less flexibility Functions 3/22/2025 Extracting functions from BRs
?? 00 01 10 11 ?? ?? 00 01 10 11 ?? 10 00 | 11 1 1 | 1 ?? 00 01 10 11 ?? 10 00 11 01 Optimum-cost function 3/22/2025 Extracting functions from BRs
?? ?? Number of inputs Number of outputs O 22?+? Functions Size of the semi-lattice Extracting functions from BRs 3/22/2025
Incompletely specified functions Shortcut: use ISF minimizers ! (ESPRESSO, Minato-Morreale, Scherzo) Extracting functions from BRs 3/22/2025
x y a b 10 00 01 10 11 00 | 11 1 01 |10 10 00 1 10 11 1 01 |10 01 |10 10 00 11 10 00 01 10 11 01 10 11 11 01 |10 01 |10 01 |10 01 |10 10 00 01 01 10 00 01 10 10 00 11 01 10 00 11 10 10 11 01 01 10 11 01 10 10 11 11 01 10 11 11 10 ? + ? ? ? ? + ? ? + ? ? = ? ? ? = ? ? ? ? ? + ? ? ? 1 ? ? ? ? ? + ? ? ? 3/22/2025 Extracting functions from BRs
The recursive approach (DAC 2004, BREL)
Projections ( abs) a b x 1 00 01 10 11 x a bx y a b x y 10 1 00 01 10 11 10 00 01 10 11 00 | 11 1 01 |10 R merge a b y 0 1 00 01 10 11 y R R is an incompletely specified function, but has more flexibility than R (R R ) 3/22/2025 Extracting functions from BRs 39
ISF projection BR 3/22/2025 Extracting functions from BRs 40
ISF ISF minimizer done ! 3/22/2025 Extracting functions from BRs 41
ISF ISF minimizer incompatible ! 3/22/2025 Extracting functions from BRs 42
The recursive paradigm a b x y x y x y x y 10 10 1 10 10 11 11 10 00 01 10 11 00 | 11 1 01 |10 00 | 11 1 01 |10 projection minimization compatible? ISF ? = 1 ? = ? with more flexibility 3/22/2025 Extracting functions from BRs 43
The recursive paradigm a b x y x y x y x y 10 10 1 10 10 11 11 10 00 01 10 11 00 | 11 1 01 |10 00 | 11 1 01 |10 projection minimization compatible? ISF ? = 1 ? = ? with more flexibility 3/22/2025 Extracting functions from BRs 44
ISF ISF minimizer incompatible ! 3/22/2025 Extracting functions from BRs 45
The recursive paradigm pick one conflict a b x y x y x y x y 10 10 1 10 10 11 11 10 00 01 10 11 00 | 11 1 01 |10 00 | 11 1 01 |10 projection minimization compatible? ISF ? = 1 ? = ? with more flexibility 3/22/2025 Extracting functions from BRs 46
The recursive paradigm x y 10 00 1 a b x y 01 |10 10 00 01 10 11 00 | 11 1 01 |10 split x y 10 11 1 01 |10 3/22/2025 Extracting functions from BRs 47
ISF ISF minimizer incompatible ! 3/22/2025 Extracting functions from BRs 48
BR1 BR2 3/22/2025 Extracting functions from BRs 49
The recursive paradigm x y x y x y x y 10 00 1 10 10 00 1 10 00 11 01 00 | 11 1 01 |10 a b x y 01 |10 10 00 01 10 11 00 | 11 1 01 |10 ISF split x y 10 11 1 01 |10 3/22/2025 Extracting functions from BRs 50