class StreamFork[T <: Data] extends Component
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).
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- StreamFork
- Component
- ValCallbackRec
- ValCallback
- OverridedEqualsHashCode
- SpinalTagReady
- Stackable
- PostInitCallback
- NameableByComponent
- Nameable
- ContextUser
- ScalaLocated
- GlobalDataUser
- OwnableRef
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new StreamFork(dataType: HardType[T], portCount: Int, synchronous: Boolean = false)
Type Members
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val _spinalTags: LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
- def addAttribute(attribute: Attribute): StreamFork.this.type
- Definition Classes
- Component → SpinalTagReady
- def addAttribute(name: String, value: Int): StreamFork.this.type
- Definition Classes
- SpinalTagReady
- def addAttribute(name: String, value: String): StreamFork.this.type
- Definition Classes
- SpinalTagReady
- def addAttribute(name: String): StreamFork.this.type
- Definition Classes
- SpinalTagReady
- def addPrePopTask(task: () => Unit): ArrayBuffer[PrePopTask]
- Definition Classes
- Component
- def addTag[T <: SpinalTag](spinalTag: T): StreamFork.this.type
- Definition Classes
- SpinalTagReady
- def addTags[T <: SpinalTag](tags: Iterable[T]): StreamFork.this.type
- Definition Classes
- SpinalTagReady
- def afterElaboration(body: => Unit): ArrayBuffer[PrePopTask]
- Definition Classes
- Component
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val children: ArrayBuffer[Component]
- Definition Classes
- Component
- val clockDomain: Handle[ClockDomain]
- Definition Classes
- Component
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def component: Component
- Definition Classes
- ContextUser
- val definition: SpinalTagReady
- Definition Classes
- Component
- var definitionName: String
- Definition Classes
- Component
- var definitionNameNoMerge: Boolean
- Definition Classes
- Component
- val dslBody: ScopeStatement
- Definition Classes
- Component
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(obj: Any): Boolean
- Definition Classes
- OverridedEqualsHashCode → AnyRef → Any
- def existsTag(cond: (SpinalTag) => Boolean): Boolean
- Definition Classes
- SpinalTagReady
- def filterTag(cond: (SpinalTag) => Boolean): Iterable[SpinalTag]
- Definition Classes
- SpinalTagReady
- def findTag(cond: (SpinalTag) => Boolean): Option[SpinalTag]
- Definition Classes
- SpinalTagReady
- def foreachReflectableNameables(doThat: (Any) => Unit): Unit
- Definition Classes
- Nameable
- def foreachTag(body: (SpinalTag) => Unit): Unit
- Definition Classes
- SpinalTagReady
- def getAllIo: Set[BaseType]
- Definition Classes
- Component
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getDisplayName(): String
- Definition Classes
- Component → Nameable
- def getGroupedIO(ioBundleBypass: Boolean): Seq[Data]
- Definition Classes
- Component
- def getInstanceCounter: Int
- Definition Classes
- ContextUser
- def getMode: Byte
- Attributes
- protected
- Definition Classes
- Nameable
- def getName(default: String): String
- Definition Classes
- NameableByComponent → Nameable
- def getName(): String
- Definition Classes
- NameableByComponent → Nameable
- def getOrdredNodeIo: List[BaseType]
- Definition Classes
- Component
- def getParentsPath(sep: String): String
- Definition Classes
- Component
- def getPartialName(): String
- Definition Classes
- Nameable
- def getPath(sep: String): String
- Definition Classes
- Component
- def getRefOwnersChain(): List[Any]
- Definition Classes
- OwnableRef
- def getScalaLocationLong: String
- Definition Classes
- ScalaLocated
- def getScalaLocationShort: String
- Definition Classes
- ScalaLocated
- def getScalaTrace(): Throwable
- Definition Classes
- ScalaLocated
- def getTag[T <: SpinalTag](clazz: Class[T]): Option[T]
- Definition Classes
- SpinalTagReady
- def getTags(): LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
- val globalData: GlobalData
- Definition Classes
- GlobalDataUser
- def hasTag[T <: SpinalTag](clazz: Class[T]): Boolean
- Definition Classes
- SpinalTagReady
- def hasTag(spinalTag: SpinalTag): Boolean
- Definition Classes
- SpinalTagReady
- def hashCode(): Int
- Definition Classes
- OverridedEqualsHashCode → AnyRef → Any
- def instanceAttributes(language: Language): Iterable[Attribute]
- Definition Classes
- SpinalTagReady
- def instanceAttributes: Iterable[Attribute]
- Definition Classes
- SpinalTagReady
- val io: Bundle { ... /* 2 definitions in type refinement */ }
- def isCompletelyUnnamed: Boolean
- Definition Classes
- Nameable
- def isEmptyOfTag: Boolean
- Definition Classes
- SpinalTagReady
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isLogicLess: Boolean
- Definition Classes
- Component
- def isNamed: Boolean
- Definition Classes
- NameableByComponent → Nameable
- def isPriorityApplicable(namePriority: Byte): Boolean
- Definition Classes
- Nameable
- def isUnnamed: Boolean
- Definition Classes
- Nameable
- var localNamingScope: NamingScope
- Definition Classes
- Component
- val name: String
- Attributes
- protected
- Definition Classes
- Nameable
- val nameableRef: Nameable
- Attributes
- protected
- Definition Classes
- Nameable
- Annotations
- @DontName()
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noIoPrefix(): StreamFork.this.type
- Definition Classes
- Component
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def onBody[T](body: => T): T
- Definition Classes
- Component
- def onEachAttributes(doIt: (Attribute) => Unit): Unit
- Definition Classes
- SpinalTagReady
- def overrideLocalName(name: String): StreamFork.this.type
- Definition Classes
- Nameable
- def parent: Component
- Definition Classes
- Component
- val parentScope: ScopeStatement
- Definition Classes
- ContextUser
- def parents(of: Component, list: List[Component]): List[Component]
- Definition Classes
- Component
- def postInitCallback(): StreamFork.this.type
- Definition Classes
- Component → PostInitCallback
- def postPopEvent(): Unit
- Definition Classes
- Stackable
- def postPushEvent(): Unit
- Definition Classes
- Component → Stackable
- def prePop(): Unit
- Definition Classes
- Component
- def prePopEvent(): Unit
- Definition Classes
- Component → Stackable
- var pulledDataCache: Map[Data, Data]
- Definition Classes
- Component
- val refOwner: RefOwnerType
- Definition Classes
- OwnableRef
- Annotations
- @DontName()
- def reflectBaseType(name: String): BaseType
- Definition Classes
- Component
- def reflectNames(): Unit
- Definition Classes
- Nameable
- def removeTag(spinalTag: SpinalTag): StreamFork.this.type
- Definition Classes
- SpinalTagReady
- def removeTags(tags: Iterable[SpinalTag]): StreamFork.this.type
- Definition Classes
- SpinalTagReady
- def rework[T](gen: => T): T
- Definition Classes
- Component
- val scalaTrace: Throwable
- Definition Classes
- ScalaLocated
- val scopeProperties: Capture
- Definition Classes
- Component
- def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): StreamFork.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): StreamFork.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable, postfix: String): StreamFork.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable, namePriority: Byte): StreamFork.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable, weak: Boolean): StreamFork.this.type
- Definition Classes
- Nameable
- def setCompositeName(nameable: Nameable): StreamFork.this.type
- Definition Classes
- Nameable
- def setDefinitionName(name: String, noMerge: Boolean): StreamFork.this.type
- Definition Classes
- Component
- def setName(name: String, namePriority: Byte): StreamFork.this.type
- Definition Classes
- Nameable
- def setName(name: String, weak: Boolean): StreamFork.this.type
- Definition Classes
- Nameable
- def setName(name: String): StreamFork.this.type
- Definition Classes
- Nameable
- def setNameAsWeak(): StreamFork.this.type
- Definition Classes
- Nameable
- def setPartialName(name: String, namePriority: Byte, owner: Any): StreamFork.this.type
- Definition Classes
- Nameable
- def setPartialName(name: String, namePriority: Byte): StreamFork.this.type
- Definition Classes
- Nameable
- def setPartialName(name: String, weak: Boolean): StreamFork.this.type
- Definition Classes
- Nameable
- def setPartialName(owner: Nameable, name: String, namePriority: Byte): StreamFork.this.type
- Definition Classes
- Nameable
- def setPartialName(owner: Nameable, name: String, weak: Boolean): StreamFork.this.type
- Definition Classes
- Nameable
- def setPartialName(name: String): StreamFork.this.type
- Definition Classes
- Nameable
- def setPartialName(owner: Nameable, name: String): StreamFork.this.type
- Definition Classes
- Nameable
- def setRefOwner(that: Any): Unit
- Definition Classes
- OwnableRef
- def setScalaLocated(source: ScalaLocated): StreamFork.this.type
- Definition Classes
- ScalaLocated
- def setWeakName(name: String): StreamFork.this.type
- Definition Classes
- Nameable
- def spinalTags: LinkedHashSet[SpinalTag]
- Definition Classes
- SpinalTagReady
- def stub(): StreamFork.this.type
- Definition Classes
- Component
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Nameable → AnyRef → Any
- def unsetName(): StreamFork.this.type
- Definition Classes
- Nameable
- val userCache: Map[Any, Any]
- Definition Classes
- Component
- def valCallback[T](ref: T, name: String): T
- Definition Classes
- ValCallbackRec → ValCallback
- def valCallbackOn(ref: Any, name: String, refs: Set[Any]): Unit
- Definition Classes
- ValCallbackRec
- def valCallbackRec(ref: Any, name: String): Unit
- Definition Classes
- Component → ValCallbackRec
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def walkComponents(body: (Component) => Unit): Unit
- Definition Classes
- Component
- def withKeywords(): Unit
- Definition Classes
- Component
- def withoutKeywords(): Unit
- Definition Classes
- Component
- var withoutReservedKeywords: Boolean
- Definition Classes
- Component
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated