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 probe
  Definition Classes
    chisel3
- Probe
- ProbeValue
- RWProbe
- RWProbeValue

o

chisel3.probe

# ProbeValue

###

#### object ProbeValue extends ProbeValueBase with SourceInfoDoc

Source
  ProbeValue.scala

Linear Supertypes
SourceInfoDoc, ProbeValueBase, AnyRef, Any

Ordering

1. Grouped
2. Alphabetic
3. By Inheritance

Inherited

1. ProbeValue
2. SourceInfoDoc
3. ProbeValueBase
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.  macro def apply[T <: Data](source: T): T

   Create a read-only probe expression.

5.  def apply[T <: Data](source: T, writable: Boolean)(implicit sourceInfo: SourceInfo): T
   Attributes
     protected
   Definition Classes
     ProbeValueBase
6.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
7.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
8.  def do_apply[T <: Data](source: T)(implicit sourceInfo: SourceInfo): T

9.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
10.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
11.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
12.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
13.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
14.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
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 SourceInfoDoc

### Inherited from ProbeValueBase

### Inherited from AnyRef

### Inherited from Any

### Ungrouped

### SourceInfoTransformMacro

These internal methods are not part of the public-facing API!
The equivalent public-facing methods do not have the `do_` prefix or have the same name. Use and look at the documentation for those. If you want left shift, use `<<`, not `do_<<`. If you want conversion to a Seq of Bools look at the `asBools` above, not the one below. Users can safely ignore every method in this group!
🐉🐉🐉 Here be dragons... 🐉🐉🐉
These `do_X` methods are used to enable both implicit passing of SourceInfo while also supporting chained apply methods. In effect all "normal" methods that you, as a user, will use in your designs, are converted to their "hidden", `do_*`, via macro transformations. Without using macros here, only one of the above wanted behaviors is allowed (implicit passing and chained applies)---the compiler interprets a chained apply as an explicit 'implicit' argument and will throw type errors.
The "normal", public-facing methods then take no SourceInfo. However, a macro transforms this public-facing method into a call to an internal, hidden `do_*` that takes an explicit SourceInfo by inserting an `implicitly[SourceInfo]` as the explicit argument.