package choice
This package contains Chisel language definitions for describing configuration options and their accepted values.
- Source
- package.scala
- Alphabetic
- By Inheritance
- choice
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract class Case extends AnyRef
An option case declaration.
- abstract class DynamicCase extends Case
An option case declaration for DynamicGroup.
An option case declaration for DynamicGroup.
DynamicCase objects must be defined inside a DynamicGroup class. They use implicit parameters to automatically associate with their parent DynamicGroup.
- abstract class DynamicGroup extends AnyRef
Dynamic option group with runtime-customizable name.
Dynamic option group with runtime-customizable name.
Unlike static Group objects, DynamicGroup allows the group name to be specified at instantiation time. This is useful for parameterized designs where the same group structure is reused with different names.
class Opt(name: String)(implicit sourceInfo: SourceInfo) extends DynamicGroup(name) { object Fast extends DynamicCase object Slow extends DynamicCase } // Use with ModuleChoice class MyModule extends Module { val opt = new Opt("OptMyModule") val impl = ModuleChoice(new DefaultImpl)( Seq( opt.Fast -> new FastImpl, opt.Slow -> new SlowImpl ) ) }
Example: - abstract class Group extends AnyRef
An option group declaration.
An option group declaration. Specifies a container grouping values for some design configuration parameter.
import chisel3.option.{Group, Case} object Platform extends Group { object FPGA extends Case object ASIC extends Case }
Example:
Value Members
- object ModuleChoice extends ModuleChoiceObjIntf
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,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.