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
- All
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
addComment(str: String): Component
- Definition Classes
- Component
-
def
addPrePopTask(task: () ⇒ Unit): ArrayBuffer[PrePopTask]
- Definition Classes
- Component
-
def
addTag[T <: SpinalTag](spinalTag: T): StreamFork.this.type
- Definition Classes
- SpinalTagReady
-
def
addTags(h: SpinalTag, tail: SpinalTag*): 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
-
def
asFormalDut(): StreamFork.this.type
- 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( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
component: Component
- Definition Classes
- ContextUser
-
val
definition: $anon forSome {type $anon <: SpinalTagReady { def addComment(str: String): $anon }}
- 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[_]
- 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
getPath(from: Component, to: Component): Seq[Component]
- Definition Classes
- NameableByComponent
-
def
getRefOwnersChain(): List[Any]
- Definition Classes
- OwnableRef
-
def
getRtlPath(separator: String): String
- Definition Classes
- Component
-
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
-
var
isFormalTester: Boolean
- Definition Classes
- Component
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isLogicLess: Boolean
- Definition Classes
- Component
-
final
def
isNamed: Boolean
- Definition Classes
- Nameable
-
def
isPriorityApplicable(namePriority: Byte): Boolean
- Definition Classes
- Nameable
-
def
isUnnamed: Boolean
- Definition Classes
- NameableByComponent → Nameable
-
var
localNamingScope: NamingScope
- Definition Classes
- Component
- val logic: StreamForkArea[T]
-
def
makeInputsAnyseq(): Unit
- Definition Classes
- Component
-
val
name: String
- 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
setFormalTester(): Unit
- Definition Classes
- Component
-
def
setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): StreamFork.this.type
- Definition Classes
- Nameable
-
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
setPartialName(owner: Nameable): 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
traceDisable(recursive: Boolean): StreamFork.this.type
- Definition Classes
- Component
-
def
traceEnable(recursive: Boolean): StreamFork.this.type
- Definition Classes
- Component
-
var
traceEnabled: Boolean
- Definition Classes
- Component
-
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
walkComponents(body: (Component) ⇒ Unit): Unit
- Definition Classes
- Component
-
def
withAutoPull(): Unit
- Definition Classes
- Component
-
var
withHierarchyAutoPull: Boolean
- Definition Classes
- Component
-
def
withKeywords(): Unit
- Definition Classes
- Component
-
var
withVitalOutputs: Boolean
- 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