Packages

  • package root

    This is the documentation for Chisel.

    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, and Reg, the abstract types Bits, Aggregate, and Data, and the aggregate types Bundle and Vec.

    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.

    Definition Classes
    root
  • package chisel3

    This package contains the main chisel3 API.

    This package contains the main chisel3 API.

    Definition Classes
    root
  • package aop
    Definition Classes
    chisel3
  • Select

object Select extends SelectIntf

Use to select Chisel components in a module, after that module has been constructed.

Source
Select.scala
Linear Supertypes
SelectIntf, AnyRef, Any
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Select
  2. SelectIntf
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait Predicate extends Serializeable

    Used to indicates a when's predicate (or its otherwise predicate)

  2. case class PredicatedConnect(preds: Seq[Predicate], loc: Data, exp: Data, isBulk: Boolean) extends Serializeable with Product with Serializable

    Used to represent a connection or bulk connection

    Used to represent a connection or bulk connection

    Additionally contains the sequence of when predicates seen when the connection is declared

  3. case class Printf(id: printf.Printf, preds: Seq[Predicate], pable: Printable, clock: Clock) extends Serializeable with Product with Serializable

    Used to represent a chisel3.printf

  4. trait Serializeable extends AnyRef
  5. case class Stop(preds: Seq[Predicate], ret: Int, clock: Clock) extends Serializeable with Product with Serializable

    Used to represent a chisel3.stop

  6. case class When(bool: Bool) extends Predicate with Product with Serializable

    Used to represent chisel3.when predicate

    Used to represent chisel3.when predicate

    bool

    the when predicate

  7. case class WhenNot(bool: Bool) extends Predicate with Product with Serializable

    Used to represent the otherwise predicate of a chisel3.when

    Used to represent the otherwise predicate of a chisel3.when

    bool

    the when predicate corresponding to this otherwise predicate

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. def _allDefinitionsOfImpl[T <: BaseModule](shouldMatch: (Definition[BaseModule]) => Boolean)(root: Hierarchy[BaseModule]): Seq[Definition[T]]
    Attributes
    protected
  5. def _definitionsOfImpl[T <: BaseModule](shouldMatch: (Definition[BaseModule]) => Boolean)(parent: Hierarchy[BaseModule]): Seq[Definition[T]]
    Attributes
    protected
  6. def _instancesOfImpl[T <: BaseModule](shouldMatch: (Instance[BaseModule]) => Boolean)(parent: Hierarchy[BaseModule]): Seq[Instance[T]]
    Attributes
    protected
  7. def allDefinitionsOf[T <: BaseModule](root: Hierarchy[BaseModule])(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T]): Seq[Definition[T]]

    Selects all Definition's directly and indirectly instantiated within given root hierarchy, of provided type

    Selects all Definition's directly and indirectly instantiated within given root hierarchy, of provided type

    root

    top of the hierarchy to search for definitions of given type

    Definition Classes
    SelectIntf
    Note

    IMPORTANT: this function requires summoning a ClassTag[T], which will fail if T is an inner class, i.e. a class defined within another class.

    ,

    IMPORTANT: this function ignores type parameters. E.g. allDefinitionsOf[List[Int]] would return List[String].

  8. def allInstancesOf[T <: BaseModule](root: Hierarchy[BaseModule])(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T]): Seq[Instance[T]]

    Selects all Instances directly and indirectly instantiated within given root hierarchy, of provided type

    Selects all Instances directly and indirectly instantiated within given root hierarchy, of provided type

    root

    top of the hierarchy to search for instances/modules of given type

    Definition Classes
    SelectIntf
    Note

    IMPORTANT: this function requires summoning a ClassTag[T], which will fail if T is an inner class.

    ,

    IMPORTANT: this function ignores type parameters. E.g. allInstancesOf[List[Int]] would return List[String].

  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def attachedTo(module: BaseModule)(signal: Data): Set[Data]

    Selects all components who are attached to a given signal, within a module

  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  12. def collectDeep[T](module: BaseModule)(collector: PartialFunction[BaseModule, T]): Iterable[T]

    Collects all components selected by collector within module and all children modules it instantiates directly or indirectly Accepts a collector partial function, rather than a collector function (see getDeep)

    Collects all components selected by collector within module and all children modules it instantiates directly or indirectly Accepts a collector partial function, rather than a collector function (see getDeep)

    T

    Type of the component that will be collected

    module

    Module to collect components, as well as all children module it directly and indirectly instantiates

    collector

    Collector partial function to pick, given a module, which components to collect

    Note

    This API will not work with the new experimental hierarchy package. Instead, use allInstancesOf or allDefinitionsOf.

  13. def connectionsTo(module: BaseModule)(signal: Data): Seq[PredicatedConnect]

    Selects all connections to a signal or its parent signal(s) (if the signal is an element of an aggregate signal) The when predicates surrounding each connection are included in the returned values

    Selects all connections to a signal or its parent signal(s) (if the signal is an element of an aggregate signal) The when predicates surrounding each connection are included in the returned values

    E.g. if signal = io.foo.bar, connectionsTo will return all connections to io, io.foo, and io.bar

  14. def definitionsIn(parent: Hierarchy[BaseModule]): Seq[Definition[BaseModule]]

    Selects the Definitions of all instances/modules directly instantiated within given module

  15. def definitionsOf[T <: BaseModule](parent: Hierarchy[BaseModule])(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T]): Seq[Definition[T]]

    Selects all Definitions of instances/modules directly instantiated within given module, of provided type

    Selects all Definitions of instances/modules directly instantiated within given module, of provided type

    parent

    hierarchy which instantiates the returned Definitions

    Definition Classes
    SelectIntf
    Note

    IMPORTANT: this function requires summoning a ClassTag[T], which will fail if T is an inner class.

    ,

    IMPORTANT: this function ignores type parameters. E.g. definitionsOf[List[Int]] would return List[String].

  16. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  18. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  19. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. def getDeep[T](module: BaseModule)(collector: (BaseModule) => Seq[T]): Seq[T]

    Collects all components selected by collector within module and all children modules it instantiates directly or indirectly Accepts a collector function, rather than a collector partial function (see collectDeep)

    Collects all components selected by collector within module and all children modules it instantiates directly or indirectly Accepts a collector function, rather than a collector partial function (see collectDeep)

    T

    Type of the component that will be collected

    module

    Module to collect components, as well as all children module it directly and indirectly instantiates

    collector

    Collector function to pick, given a module, which components to collect

    Note

    This API will not work with the new experimental hierarchy package. Instead, use allInstancesOf or allDefinitionsOf.

  21. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  22. def instances(module: BaseModule): Seq[BaseModule]

    Selects all modules directly instantiated within given module

    Selects all modules directly instantiated within given module

    Note

    This API will not work with the new experimental hierarchy package. Instead, use instancesIn or definitionsIn.

  23. def instancesIn(parent: Hierarchy[BaseModule]): Seq[Instance[BaseModule]]

    Selects all instances/modules directly instantiated within given definition

  24. def instancesOf[T <: BaseModule](parent: Hierarchy[BaseModule])(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T]): Seq[Instance[T]]

    Selects all Instances of instances/modules directly instantiated within given module, of provided type

    Selects all Instances of instances/modules directly instantiated within given module, of provided type

    parent

    hierarchy which instantiates the returned Definitions

    Definition Classes
    SelectIntf
    Note

    IMPORTANT: this function requires summoning a ClassTag[T], which will fail if T is an inner class.

    ,

    IMPORTANT: this function ignores type parameters. E.g. instancesOf[List[Int]] would return List[String].

  25. def invalids(module: BaseModule): Seq[Data]

    Selects all components who have been set to be invalid, even if they are later connected to

  26. def ios[T <: BaseModule](parent: Hierarchy[T]): Seq[Data]

    Selects all ios directly on a given Instance or Definition of a module

    Selects all ios directly on a given Instance or Definition of a module

    parent

    the Definition or Instance to get the IOs of

  27. def ios(module: BaseModule): Seq[Data]

    Selects all Data ios on a given module

    Selects all Data ios on a given module

    Note that Property ios are not returned.

  28. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  29. def memPorts(dir: MemPortDirection)(module: BaseModule): Seq[(Data, MemBase[_])]

    Selects all memory ports of a given direction, including their memory

    Selects all memory ports of a given direction, including their memory

    dir

    The direction of memory ports to select

  30. def memPorts(module: BaseModule): Seq[(Data, MemPortDirection, MemBase[_])]

    Selects all memory ports, including their direction and memory

  31. def mems(module: BaseModule): Seq[Mem[_]]

    Selects all Mems directly contained within given module

  32. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  33. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  35. def ops(opKind: String)(module: BaseModule): Seq[Data]

    Selects a kind of arithmetic or logical operator directly instantiated within given module The kind of operators are contained in chisel3.internal.firrtl.PrimOp

    Selects a kind of arithmetic or logical operator directly instantiated within given module The kind of operators are contained in chisel3.internal.firrtl.PrimOp

    opKind

    the kind of operator, e.g. "mux", "add", or "bits"

  36. def ops(module: BaseModule): Seq[(String, Data)]

    Selects all arithmetic or logical operators directly instantiated within given module

  37. def printfs(module: BaseModule): Seq[Printf]

    Selects all printf statements, and includes the predicates surrounding the printf statement

  38. def registers(module: BaseModule): Seq[Data]

    Selects all registers directly instantiated within given module

  39. def stops(module: BaseModule): Seq[Stop]

    Selects all stop statements, and includes the predicates surrounding the stop statement

  40. def syncReadMems(module: BaseModule): Seq[SyncReadMem[_]]

    Selects all SyncReadMems directly contained within given module

  41. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  42. def toString(): String
    Definition Classes
    AnyRef → Any
  43. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  44. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  45. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  46. def wires(module: BaseModule): Seq[Data]

    Selects all wires in a module

  47. object unsafe

    Select.unsafe exposes useful, but unsafe APIs.

    Select.unsafe exposes useful, but unsafe APIs.

    These APIs operate on directly Chisel's internal data structures, which may be mutated as more hardware is generated. They can only offer a point in time view of the current state. The tradeoff is they do not require the modules being selected on to have finished construction.

Deprecated Value Members

  1. def getIntermediateAndLeafs(d: Data): Seq[Data]

    Return all expanded components, including intermediate aggregate nodes

    Return all expanded components, including intermediate aggregate nodes

    d

    Component to find leafs if aggregate typed. Intermediate fields/indicies ARE included

    Annotations
    @deprecated
    Deprecated

    Use DataMirror.collectAllMembers instead

  2. def getLeafs(d: Data): Seq[Data]

    Return just leaf components of expanded node

    Return just leaf components of expanded node

    d

    Component to find leafs if aggregate typed. Intermediate fields/indicies are not included

    Annotations
    @deprecated
    Deprecated

    Use DataMirror.collectLeafMembers instead

Inherited from SelectIntf

Inherited from AnyRef

Inherited from Any

Ungrouped