package lib
- Alphabetic
- By Inheritance
- lib
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Package Members
- package blackbox
- package bus
- package com
- package cpu
- package dsptool
- package eda
- package experimental
- package fsm
- package generator
- package generator_backup
- package graphic
- package io
- package logic
- package math
- package memory
- package misc
- package pipeline
- package sim
- package soc
- package system
- package tools
- package wishbone
Type Members
- class AnyPimped[T] extends AnyRef
- implicit class BigIntRicher extends LiteralRicher
- implicit class BinIntsRicher extends AnyRef
- implicit class BinaryBuilder extends AnyRef
- implicit class BinaryBuilder2 extends AnyRef
- class BitAggregator extends AnyRef
- class BoolPimped extends AnyRef
- class BufferCC[T <: Data] extends Component
- implicit class ByteRicher extends LiteralRicher
- class ClockDomainPimped extends AnyRef
- class Counter extends ImplicitArea[UInt]
- class CounterUpDown extends ImplicitArea[UInt]
- trait DataCarrier[T <: Data] extends AnyRef
- class DataCarrierFragmentBitsPimped extends AnyRef
- class DataCarrierFragmentPimped[T <: Data] extends AnyRef
- case class DataOr[T <: Data](dataType: HardType[T]) extends Area with Product with Serializable
- sealed trait Endianness extends AnyRef
Endianness enumeration
- type Event = Stream[NoData]
- case class EventEmitter(on: Event) extends Product with Serializable
- class EventFactory extends MSFactory
- class Flow[T <: Data] extends Bundle with IMasterSlave with DataCarrier[T]
- class FlowBitsPimped extends AnyRef
- class FlowCCByToggle[T <: Data] extends Component
- class FlowFactory extends MSFactory
- class FlowFragmentBitsRouter extends AnyRef
- class FlowFragmentFactory extends MSFactory
- class FlowFragmentPimped[T <: Data] extends AnyRef
- class Fragment[T <: Data] extends Bundle
- class FragmentFactory extends AnyRef
- class GrowableAnyPimped[T] extends AnyRef
- class HistoryModifyable[T <: Data] extends Component
- trait IMasterSlave extends AnyRef
- implicit class IntRicher extends LiteralRicher
- trait LiteralRicher extends AnyRef
- implicit class LongRicher extends LiteralRicher
- trait MS extends AnyRef
- trait MSFactory extends AnyRef
- class MemPimped[T <: Data] extends AnyRef
- case class MemReadPort[T <: Data](dataType: T, addressWidth: Int) extends Bundle with IMasterSlave with Product with Serializable
- case class MemReadPortAsync[T <: Data](dataType: T, addressWidth: Int) extends Bundle with IMasterSlave with Product with Serializable
- case class MemReadWritePort[T <: Data](dataType: T, addressWidth: Int, maskWidth: Int = -1) extends Bundle with IMasterSlave with Product with Serializable
- case class MemWriteCmd[T <: Data](mem: Mem[T], maskWidth: Int = -1) extends Bundle with Product with Serializable
- case class MemWriteCmdWithMask[T <: Data](mem: Mem[T], maskWidth: Int) extends Bundle with Product with Serializable
- class MuxOHImpl extends AnyRef
- class NoData extends Bundle
- class PulseCCByToggle extends Component
- case class ReadRetLinked[T <: Data, T2 <: Data](readType: HardType[T], linkedType: HardType[T2]) extends Bundle with Product with Serializable
- type ScalaStream[T] = scala.collection.immutable.Stream[T]
- sealed trait SlicesOrder extends AnyRef
Enumeration to present order of slices.
- class Stream[T <: Data] extends Bundle with IMasterSlave with DataCarrier[T]
- class StreamArbiter[T <: Data] extends Component
A StreamArbiter is like a StreamMux, but with built-in complex selection logic that can arbitrate input streams based on a schedule or handle fragmented streams.
A StreamArbiter is like a StreamMux, but with built-in complex selection logic that can arbitrate input streams based on a schedule or handle fragmented streams. Use a StreamArbiterFactory to create instances of this class.
- class StreamArbiterFactory extends AnyRef
- class StreamBitsPimped extends AnyRef
- class StreamCCByToggle[T <: Data] extends Component
- class StreamDemux[T <: Data] extends Component
- class StreamFactory extends MSFactory
- class StreamFifo[T <: Data] extends Component
- class StreamFifoCC[T <: Data] extends Component
- trait StreamFifoInterface[T <: Data] extends AnyRef
- class StreamFifoLowLatency[T <: Data] extends Component
- case class StreamFifoMultiChannelPop[T <: Data](payloadType: HardType[T], channelCount: Int) extends Bundle with IMasterSlave with Product with Serializable
- case class StreamFifoMultiChannelPush[T <: Data](payloadType: HardType[T], channelCount: Int) extends Bundle with IMasterSlave with Product with Serializable
- case class StreamFifoMultiChannelSharedSpace[T <: Data](payloadType: HardType[T], channelCount: Int, depth: Int, withAllocationFifo: Boolean = false) extends Component with Product with Serializable
- class StreamFlowArbiter[T <: Data] extends Area
- class StreamFork[T <: Data] extends Component
A StreamFork will clone each incoming data to all its output streams.
A StreamFork will clone each incoming data to all its output streams. If synchronous is true, all output streams will always fire together, which means that the stream will halt until all output streams are ready. If synchronous is false, output streams may be ready one at a time, at the cost of an additional flip flop (1 bit per output). The input stream will block until all output streams have processed each item regardlessly.
Note that this means that when synchronous is true, the valid signal of the outputs depends on their inputs, which may lead to dead locks when used in combination with systems that have it the other way around. It also violates the handshake of the AXI specification (section A3.3.1).
- class StreamForkArea[T <: Data] extends Area
- class StreamFragmentBitsDispatcher extends Area
- case class StreamFragmentBitsDispatcherElement(sink: Stream[Bits], header: Int) extends Product with Serializable
- class StreamFragmentBitsPimped extends AnyRef
- class StreamFragmentFactory extends MSFactory
- class StreamFragmentPimped[T <: Data] extends AnyRef
- class StreamMux[T <: Data] extends Component
- trait StreamPipe extends AnyRef
- class StreamToStreamFragmentBits[T <: Data] extends Component
- class StreamTransactionCounter extends Component
- class StreamTransactionExtender[T <: Data, T2 <: Data] extends Component
- class StringPimped extends AnyRef
- class Timeout extends ImplicitArea[Bool]
- class TraversableOnceAnyPimped[T] extends AnyRef
- class TraversableOnceAnyTuplePimped[T, T2] extends AnyRef
- class TraversableOnceBoolPimped extends AnyRef
- class TraversableOncePimped[T <: Data] extends AnyRef
- implicit class UIntPimper extends AnyRef
Deprecated Type Members
- class StreamDispatcherSequencial[T <: Data] extends Component
- Deprecated
Do not use. Use the companion object or a normal regular StreamMux instead.
Value Members
- implicit def AnyPimpedDef[T](that: T): AnyPimped[T]
- def Event: Stream[NoData]
- def NoData(): NoData
- val OHMux: MuxOHImpl
- def ScalaStream: scala.collection.immutable.Stream
- def StreamArbiterFactory(): StreamArbiterFactory
- implicit def boolPimped(that: Bool): BoolPimped
- implicit def clockDomainPimped(cd: ClockDomain): ClockDomainPimped
- implicit def dataCarrierFragmentBitsPimped(that: DataCarrier[Fragment[Bits]]): DataCarrierFragmentBitsPimped
- implicit def dataCarrierFragmentPimped[T <: Data](that: DataCarrier[Fragment[T]]): DataCarrierFragmentPimped[T]
- implicit def easyFragment[T <: Data](that: Fragment[T]): T
- implicit def flowBitsPimped(that: Flow[Bits]): FlowBitsPimped
- implicit def flowFragmentPimped[T <: Data](that: Flow[Fragment[T]]): FlowFragmentPimped[T]
- implicit def growableAnyPimped[T](that: Growable[T]): GrowableAnyPimped[T]
- implicit def memPimped[T <: Data](mem: Mem[T]): MemPimped[T]
- def sexport[T <: SpinalTag](h: T): T
- def sexport[T](name: String, value: Any): ArrayBuffer[() => Unit]
- def sexport[T](h: Handle[T]): Handle[T]
- def sexport[T](named: Handle[T], value: => Any): ArrayBuffer[() => Unit]
- implicit def streamBitsPimped(that: Stream[Bits]): StreamBitsPimped
- implicit def streamFragmentBitsPimped(that: Stream[Fragment[Bits]]): StreamFragmentBitsPimped
- implicit def streamFragmentPimped[T <: Data](that: Stream[Fragment[T]]): StreamFragmentPimped[T]
- implicit def stringPimped(that: String): StringPimped
- implicit def traversableOnceAnyPimped[T](that: TraversableOnce[T]): TraversableOnceAnyPimped[T]
- implicit def traversableOnceAnyTuplePimped[T, T2](that: TraversableOnce[(T, T2)]): TraversableOnceAnyTuplePimped[T, T2]
- implicit def traversableOnceBoolPimped(that: TraversableOnce[Bool]): TraversableOnceBoolPimped
- implicit def traversableOncePimped[T <: Data](that: TraversableOnce[T]): TraversableOncePimped[T]
- object AddWithCarry
- object BIG extends Endianness
Big-Endian
- object BufferCC
- object Callable
- object ClearCount
- object CountOne
- object CountOneOnEach
- object Counter
- object CounterFreeRun
- object CounterMultiRequest
- object CounterUpDown
- object DataCarrier
- object Delay
- object DelayEvent
- object DelayWithInit
- object DoCmd
Run command
- object EndiannessSwap
**************************************************************************** Big-Endian <-> Little-Endian
- object Flow extends FlowFactory
- object FlowCCByToggle
- object FlowFragmentBitsRouter
- object Fragment extends FragmentFactory
- object FragmentToBitsStates extends SpinalEnum
- object GrayCounter
- object HIGHER_FIRST extends SlicesOrder
Slice with higher bits process first
- object History
- object HistoryModifyable
- object KeepAttribute
- object LITTLE extends Endianness
Little-Endian
- object LOWER_FIRST extends SlicesOrder
Slice with lower bits process first
- object LatencyAnalysis
- object LeastSignificantBitSet
- object MajorityVote
- object Max
- object Min
- object MuxOH extends MuxOHImpl
- object OHMasking
- object OHToUInt
- object OhMux extends MuxOHImpl
- object PriorityMux
- object PulseCCByToggle
- object RegFlow
- object Repeat
- object ResetCtrl
- object Reverse
- object SetCount
- object SetFromFirstOne
- object Shift
- object Stream extends StreamFactory
- object StreamArbiter
- object StreamCCByToggle
- object StreamCombinerSequential
This is equivalent to a StreamMux, but with a counter attached to the port selector.
- object StreamDemux
Demultiplex one stream into multiple output streams, always selecting only one at a time.
- object StreamDispatcherSequential
This is equivalent to a StreamDemux, but with a counter attached to the port selector.
- object StreamFifo
- object StreamFifoCC
- object StreamFifoLowLatency
- object StreamFifoMultiChannelBench extends App
- object StreamFlowArbiter
Combine a stream and a flow to a new stream.
Combine a stream and a flow to a new stream. If both input sources fire, the flow will be preferred.
- object StreamFork
- object StreamFork2
- object StreamFork3
- object StreamFragmentArbiter
- object StreamFragmentArbiterAndHeaderAdder
- object StreamFragmentGenerator
- object StreamFragmentWidthAdapter
- object StreamJoin
Join multiple streams into one.
Join multiple streams into one. The resulting stream will only fire if all of them fire, so you may want to buffer the inputs.
- object StreamMux
Multiplex multiple streams into a single one, always only processing one at a time.
- object StreamPipe
- object StreamTransactionCounter
- object StreamTransactionExtender
- object StreamWidthAdapter
- object Timeout
- object UIntToOh
- object ValidFlow
Create a new Flow that is always valid, with a given payload
- object WrapWithReg
- object fromGray
- object master extends MS
- object masterWithNull extends MS
- object slave extends MS
- object slaveWithNull extends MS
- object toGray
- object whenIndexed
- object whenMasked
Deprecated Value Members
- object StreamDispatcherSequencial
- Deprecated
Do not use