object EspressoMinimizer extends Minimizer with LazyLogging
A Minimizer implementation to use espresso to minimize the TruthTable.
espresso uses heuristic algorithm providing a sub-optimized) result. For implementation details, please refer to: https://www.springerprofessional.de/en/logic-minimization-algorithms-for-vlsi-synthesis/13780088
a espresso executable should be downloaded from https://github.com/chipsalliance/espresso
If user want to user the this Minimizer, a espresso executable should be added to system PATH environment.
- Source
- EspressoMinimizer.scala
- Alphabetic
- By Inheritance
- EspressoMinimizer
- LazyLogging
- Minimizer
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getLogger: Logger
- Definition Classes
- LazyLogging
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val logger: Logger
- Attributes
- protected
- Definition Classes
- LazyLogging
- def minimize(table: TruthTable): TruthTable
Minimize a multi-input multi-output logic function given by the truth table
table, with function output values on unspecified inputs treated asdefault, and return a minimized PLA-like representation of the function.Minimize a multi-input multi-output logic function given by the truth table
table, with function output values on unspecified inputs treated asdefault, and return a minimized PLA-like representation of the function.Each bit of
table[]._1encodes one 1-bit input variable of the logic function, and each bit ofdefaultandtable[]._2represents one 1-bit output value of the function.- table
Truth table, can have don't cares in both inputs and outputs, specified as [(inputs, outputs), ...]
- returns
Minimized truth table, [(inputs, outputs), ...]
- Definition Classes
- EspressoMinimizer → Minimizer
minimize(BitPat("b?"), Seq( (BitPat("b000"), BitPat("b0")), // (BitPat("b001"), BitPat("b?")), // same as default, can be omitted // (BitPat("b010"), BitPat("b?")), // same as default, can be omitted (BitPat("b011"), BitPat("b0")), (BitPat("b100"), BitPat("b1")), (BitPat("b101"), BitPat("b1")), (BitPat("b110"), BitPat("b0")), (BitPat("b111"), BitPat("b1")), ))
Example: - final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
This is the documentation for Chisel.
Package structure
The chisel3 package presents the public API of Chisel. It contains the concrete core types
UInt,SInt,Bool,FixedPoint,Clock, andReg, the abstract typesBits,Aggregate, andData, and the aggregate typesBundleandVec.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
utilpackage.The
testerspackage defines the basic interface for chisel testers.