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
- All
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( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- 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[]._1
encodes one 1-bit input variable of the logic function, and each bit ofdefault
andtable[]._2
represents 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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
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 typesBundle
andVec
.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
util
package.The
testers
package defines the basic interface for chisel testers.