chisel3.util.experimental.decode
Members list
Type members
Classlikes
Special case when output type is a single Bool
Special case when output type is a single Bool
Type parameters
- T
-
pattern this field should match
Attributes
- Source
- DecoderBundle.scala
- Supertypes
Output of DecoderTable
Output of DecoderTable
Value parameters
- fields
-
all fields to be decoded
Attributes
- Source
- DecoderBundle.scala
- Supertypes
-
class Recordtrait Selectabletrait Aggregateclass Datatrait InstanceIdclass Objecttrait Matchableclass AnyShow all
One output field of a decoder bundle
One output field of a decoder bundle
Type parameters
- D
-
output type of this field
- T
-
pattern this field should match
Attributes
- Source
- DecoderBundle.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait BoolDecodeField[T]
Input pattern a DecoderField should match, e.g. an instruction
Input pattern a DecoderField should match, e.g. an instruction
Attributes
- Source
- DecoderBundle.scala
- Supertypes
-
class Objecttrait Matchableclass Any
A structured way of generating large decode tables, often found in CPU instruction decoders
A structured way of generating large decode tables, often found in CPU instruction decoders
Each field is a DecoderPattern, its genTable method will be called for each possible pattern and gives expected output for this field as a BitPat.
Type parameters
- I
-
concrete type of input patterns trait
Value parameters
- fields
-
all fields as decoded output
- patterns
-
all possible input patterns, should implement trait DecoderPattern
Attributes
- Source
- DecoderBundle.scala
- Supertypes
-
class Objecttrait Matchableclass Any
DecodeTableAnnotation used to store a decode result for a specific TruthTable. This is useful for saving large TruthTable during a elaboration time.
DecodeTableAnnotation used to store a decode result for a specific TruthTable. This is useful for saving large TruthTable during a elaboration time.
Value parameters
- minimizedTable
-
minimized truthTable encoded in a serialized TruthTable.
- target
-
output wire of a decoder.
- truthTable
-
input TruthTable encoded in a serialized TruthTable.
Attributes
- Note
-
user should manage the correctness of minimizedTable.
- Source
- DecodeTableAnnotation.scala
- Supertypes
-
trait Serializabletrait Annotationtrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
A Minimizer implementation to use espresso to minimize the TruthTable.
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.
Attributes
- Source
- EspressoMinimizer.scala
- Supertypes
- Self type
-
EspressoMinimizer.type
Attributes
- Source
- EspressoMinimizer.scala
- Supertypes
-
trait Singletontrait Producttrait Mirrortrait Producttrait Equalsclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass AnyShow all
- Self type
Attributes
- Source
- Minimizer.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object EspressoMinimizerobject QMCMinimizer
A Minimizer implementation to use Quine-Mccluskey algorithm to minimize the TruthTable.
A Minimizer implementation to use Quine-Mccluskey algorithm to minimize the TruthTable.
This algorithm can always find the best solution, but is a NP-Complete algorithm, which means, for large-scale TruthTable minimization task, it will be really slow, and might run out of memory of JVM stack.
In this situation, users should consider switch to EspressoMinimizer, which uses heuristic algorithm providing a sub-optimized result.
Attributes
- Source
- QMCMinimizer.scala
- Supertypes
- Self type
-
QMCMinimizer.type
Attributes
- Companion
- object
- Source
- TruthTable.scala
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- class
- Source
- TruthTable.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TruthTable.type
Attributes
- Source
- decoder.scala
- Supertypes
- Self type
-
decoder.type