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 experimental

  Package for experimental features, which may have their API changed, be removed, etc.

  Package for experimental features, which may have their API changed, be removed, etc.

  Because its contents won't necessarily have the same level of stability and support as non-experimental, you must explicitly import this package to use its contents.

  Definition Classes
    chisel3
-  package dataview
  Definition Classes
    experimental
- DataProduct
- DataView
- DataViewable
- InvalidViewException
- LowPriorityDataProduct
- PartialDataView
- RecordUpcastable
-  package hierarchy
  Definition Classes
    experimental

p

chisel3.experimental

# dataview

#### package dataview

Source
  package.scala

Linear Supertypes
AnyRef, Any
Content Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. dataview
2. AnyRef
3. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Type Members

1.  trait DataProduct[-A] extends AnyRef

   Typeclass interface for getting elements of type Data

   Typeclass interface for getting elements of type Data

   This is needed for validating DataViews targeting type `A`. Can be thought of as "can be the Target of a DataView".

   Chisel provides some implementations in object DataProduct that are available by default in the implicit scope.

   A

     Type that has elements of type Data

   Annotations
     @implicitNotFound()
   See also

     Detailed Documentation

2.  sealed class DataView[T, V <: Data] extends AnyRef

   Mapping between a target type `T` and a view type `V`

   Mapping between a target type `T` and a view type `V`

   Enables calling `.viewAs[T]` on instances of the target type.

   #### Detailed documentation

   - Explanation
   - Cookbook
   T

     Target type (must have an implementation of DataProduct)

   V

     View type

   Annotations
     @implicitNotFound()
   Example:

   1.     class Foo(val w: Int) extends Bundle {
            val a = UInt(w.W)
          }
          class Bar(val w: Int) extends Bundle {
            val b = UInt(w.W)
          }
          // DataViews are created using factory methods in the companion object
          implicit val view = DataView[Foo, Bar](
            // The first argument is a function constructing a Foo from a Bar
            foo => new Bar(foo.w)
            // The remaining arguments are a variable number of field pairings
            _.a -> _.b
          )

   See also

     object DataView for factory methods

     object PartialDataView for defining non-total `DataViews`

3.  implicit class DataViewable[T] extends AnyRef

   Provides `viewAs` for types that have an implementation of DataProduct

   Provides `viewAs` for types that have an implementation of DataProduct

   Calling `viewAs` also requires an implementation of DataView for the target type

4.  case class InvalidViewException(message: String) extends ChiselException with Product with Serializable
5.  sealed trait LowPriorityDataProduct extends AnyRef

   Low priority built-in implementations of DataProduct

   Low priority built-in implementations of DataProduct

   Note

     This trait exists so that `dataDataProduct` can be lower priority than `iterableDataProduct` to resolve ambiguity

6.  implicit class RecordUpcastable[T <: Record] extends AnyRef

   Provides `viewAsSupertype` for subclasses of Record

### Value Members

1.  object DataProduct extends LowPriorityDataProduct

   Encapsulating object for built-in implementations of DataProduct

   Encapsulating object for built-in implementations of DataProduct

   Note

     DataProduct implementations provided in this object are available in the implicit scope

2.  object DataView

   Factory methods for constructing DataViews, see class for example use

3.  object PartialDataView

   Factory methods for constructing non-total DataViews

### Inherited from AnyRef

### Inherited from Any

### Ungrouped