chisel6.4.0 < Back


# Packages

-  package root
  Definition Classes
    root
-  package chisel3

  This package contains the main chisel3 API.

  This package contains the main chisel3 API.

  Definition Classes
    root
-  package util

  The util package provides extensions to core chisel for common hardware components and utility functions

  The util package provides extensions to core chisel for common hardware components and utility functions

  Definition Classes
    chisel3
-  package experimental
  Definition Classes
    util
-  package decode
  Definition Classes
    experimental
- BoolDecodeField
- DecodeBundle
- DecodeField
- DecodePattern
- DecodeTable
- DecodeTableAnnotation
- EspressoMinimizer
- EspressoNotFoundException
- Minimizer
- QMCMinimizer
- TruthTable
- decoder

o

chisel3.util.experimental.decode

# EspressoMinimizer

###

#### 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

Linear Supertypes
LazyLogging, Minimizer, AnyRef, Any

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. EspressoMinimizer
2. LazyLogging
3. Minimizer
4. AnyRef
5. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
5.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
6.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
7.  def equals(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef → Any
8.  def finalize(): Unit
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.Throwable])
9.  final def getClass(): Class[_ <: AnyRef]
   Definition Classes
     AnyRef → Any
   Annotations
     @native()
10.  def getLogger: Logger
    Definition Classes
      LazyLogging
11.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
12.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
13.  val logger: Logger
    Attributes
      protected
    Definition Classes
      LazyLogging
14.  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 as `default`, 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 as `default`, 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 of `default` and `table[]._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
    Example:

    1.     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")),
           ))

15.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
16.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
17.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
18.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
19.  def toString(): String
    Definition Classes
      AnyRef → Any
20.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
21.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
22.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from LazyLogging

### Inherited from Minimizer

### Inherited from AnyRef

### Inherited from Any

### Ungrouped