CIRCT 23.0.0git
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
TruthTable.h File Reference
#include "circt/Support/LLVM.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/raw_ostream.h"
#include <array>
#include <cstdint>
Include dependency graph for TruthTable.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  circt::BinaryTruthTable
 Represents a boolean function as a truth table. More...
 
struct  circt::NPNClass
 Represents the canonical form of a boolean function under NPN equivalence. More...
 
class  circt::NPNTable
 Precomputed NPN canonicalization table for 4-input single-output functions. More...
 
struct  circt::NPNTable::Entry4
 
struct  circt::Cube
 Represents a product term (cube) in a sum-of-products expression. More...
 
struct  circt::SOPForm
 Represents a sum-of-products expression. More...
 

Namespaces

namespace  circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 
namespace  circt::detail
 

Functions

void circt::collectCanonicalNPN4Representatives (llvm::SmallVectorImpl< uint16_t > &representatives)
 Collect all canonical 4-input single-output NPN representatives in ascending truth-table order.
 
llvm::APInt circt::createVarMask (unsigned numVars, unsigned varIndex, bool positive)
 Create a mask for a variable in the truth table.
 
llvm::APInt circt::detail::expandTruthTableToInputSpace (const llvm::APInt &tt, ArrayRef< unsigned > inputMapping, unsigned numExpandedInputs)
 Expand a truth table to a larger input space using the given input mapping.
 
std::pair< llvm::APInt, llvm::APInt > circt::computeCofactors (const llvm::APInt &f, unsigned numVars, unsigned varIndex)
 Compute cofactor of a Boolean function for a given variable.
 
SOPForm circt::extractISOP (const llvm::APInt &truthTable, unsigned numVars)
 Extract ISOP (Irredundant Sum-of-Products) from a truth table.