Espresso is a command-line tool for logic synthesis and minimization. It operates on PLA (Programmable Logic Array) files and supports various subcommands for different logic operations like minimization, expansion, and reduction.
Basic Usage
espresso [options] [file]
If no file is provided, it reads from stdin. If a file is provided, it reads the PLA data from that file.
Common Options
-D[cmd]: Execute a specific subcommand (e.g., -Despresso, -Dsimplify, -Dexpand).-o[type]: Select the output format. Supported types include f, fd, fr, fdr, pleasure, eqntott, kiss, and cons.-e[opt]: Select specific Espresso optimization options such as fast, ness, nirr, unwrap, onset, pos, strong, eat, eatdots, kiss, or random.-r[range]: Select a range for specific subcommands (e.g., d1merge, minterms, opoall) using the format first-last (e.g., -r0-10).-s: Provide a short execution summary.-t: Provide a detailed execution trace.-x: Suppress printing of the solution.-v[type]: Enable verbose debugging with specific types.-Sn: Select a strategy for specific subcommands (e.g., opo, opoall, pair, pairall, so_espresso, so_both).
Legacy Support
The CLI also supports older flag styles:
-do [cmd] (equivalent to -D[cmd])-out [type] (equivalent to -o[type])-f, -fr, or -fdr to specify input types.
espresso -Despresso input.pla
espresso -Dsimplify -o kiss input.pla
espresso -Dminterms -r0-5 input.pla