Skip to content

Commit 70ddfb2

Browse files
CopilotReadon
andcommitted
Scope docs to only facilities used outside SpinalHDL/SpinalHDL: remove StreamAccessibleFifo, StreamShiftChain, PackedBundle page, and undocumented BusSlaveFactory methods
Co-authored-by: Readon <3614708+Readon@users.noreply.github.com>
1 parent 32701c4 commit 70ddfb2

File tree

4 files changed

+1
-255
lines changed

4 files changed

+1
-255
lines changed

source/SpinalHDL/Libraries/bus_slave_factory.rst

Lines changed: 1 addition & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -94,50 +94,5 @@ Functionality
9494
- T
9595
- | Set bits of ``that`` when the corresponding write bit is ``1``.
9696
| Writing a ``1`` to a bit position sets that bit; writing ``0`` has no effect.
97-
* - clearOnSet(that,address,bitOffset)
98-
- T
99-
- | Clear bits of ``that`` when the corresponding write bit is ``1``.
100-
| Writing a ``1`` to a bit position clears that bit; writing ``0`` has no effect.
101-
* - readAndSetOnSet(that,address,bitOffset)
102-
- T
103-
- Map ``that`` as readable at ``address`` and apply the ``setOnSet`` behaviour on write
104-
* - readAndClearOnSet(that,address,bitOffset)
105-
- T
106-
- Map ``that`` as readable at ``address`` and apply the ``clearOnSet`` behaviour on write
107-
* - createReadAndSetOnSet(dataType,address,bitOffset)
108-
- T
109-
- Create a register of ``dataType``, make it readable at ``address``, and apply the ``setOnSet`` behaviour on write
110-
* - createReadAndClearOnSet(dataType,address,bitOffset)
111-
- T
112-
- Create a register of ``dataType``, make it readable at ``address``, and apply the ``clearOnSet`` behaviour on write
113-
* - createReadMultiWord(that,address)
114-
- T
115-
- | Create a register initialised from ``that``, and map it as a multi-word read starting at ``address``.
116-
| Extends across consecutive addresses when ``that`` is wider than one bus word.
117-
* - createWriteMultiWord(that,address)
118-
- T
119-
- | Create a register initialised from ``that``, and map it as a multi-word write starting at ``address``.
120-
| Extends across consecutive addresses when ``that`` is wider than one bus word.
121-
* - createWriteAndReadMultiWord(that,address)
122-
- T
123-
- | Create a register initialised from ``that``, and map it as both readable and writable across multiple words starting at ``address``.
124-
* - multiCycleRead(address,cycles)
125-
- Unit
126-
- | Insert a read latency of ``cycles`` bus clock cycles for accesses to ``address``.
127-
| Useful when the read data requires more than one cycle to become available (e.g. synchronous RAM reads).
128-
* - readSyncMemWordAligned(mem,addressOffset,bitOffset,memOffset)
129-
- Mem[T]
130-
- | Memory-map a synchronous-read ``Mem`` at ``addressOffset`` for word-aligned bus access.
131-
| Each bus word corresponds to one memory word. Automatically inserts a 2-cycle read latency.
132-
* - readSyncMemMultiWord(mem,addressOffset,memOffset)
133-
- Mem[T]
134-
- | Memory-map a synchronous-read ``Mem`` at ``addressOffset`` when each memory element spans multiple bus words.
135-
| Automatically inserts a 2-cycle read latency.
136-
* - writeMemWordAligned(mem,addressOffset,bitOffset,memOffset)
137-
- Mem[T]
138-
- Memory-map a ``Mem`` for word-aligned bus write access at ``addressOffset``. Supports byte-enable masks when available.
139-
* - writeMemMultiWord(mem,addressOffset)
140-
- Mem[T]
141-
- | Memory-map a ``Mem`` at ``addressOffset`` for write access when each memory element spans multiple bus words.
142-
| The memory element width must be a multiple of the bus data width.
97+
14398

source/SpinalHDL/Libraries/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ To use features introduced in followings chapter you need, in most of cases, to
3232
fiber
3333
binarySystem
3434
regIf
35-
packed_bundle
3635
Bus/index
3736
Com/index
3837
IO/index

source/SpinalHDL/Libraries/packed_bundle.rst

Lines changed: 0 additions & 128 deletions
This file was deleted.

source/SpinalHDL/Libraries/stream.rst

Lines changed: 0 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -610,86 +610,6 @@ You can apply them by calling the corresponding method on a ``Stream`` or by pas
610610
val pipeType: StreamPipe = StreamPipe.M2S
611611
sink << pipeType(source)
612612
613-
StreamAccessibleFifo
614-
^^^^^^^^^^^^^^^^^^^^
615-
616-
``StreamAccessibleFifo`` is a FIFO where all stored elements are accessible at any time through the ``io.states`` ports in addition to the normal ``push``/``pop`` stream interface.
617-
This is useful when logic needs to inspect the entire contents of the queue without consuming elements.
618-
619-
.. list-table::
620-
:header-rows: 1
621-
:widths: 2 2 5
622-
623-
* - Signal
624-
- Type
625-
- Description
626-
* - ``io.push``
627-
- slave Stream[T]
628-
- Input stream; pushes data into the FIFO
629-
* - ``io.pop``
630-
- master Stream[T]
631-
- Output stream; pops data from the FIFO
632-
* - ``io.states``
633-
- Vec(master Flow[T], length)
634-
- Read-only view of each slot in the FIFO
635-
636-
.. code-block:: scala
637-
638-
val input = Stream(Bits(8 bits))
639-
val output = Stream(Bits(8 bits))
640-
641-
// Instantiate a StreamAccessibleFifo with 4 slots
642-
val fifo = StreamAccessibleFifo(input, output, length = 4)
643-
644-
// Access the first slot's data without consuming it
645-
when(fifo.io.states(0).valid) {
646-
val firstElement = fifo.io.states(0).payload
647-
}
648-
649-
StreamShiftChain
650-
^^^^^^^^^^^^^^^^
651-
652-
``StreamShiftChain`` is a shift-register chain of ``length`` registered stream stages.
653-
Each stage is a ``m2sPipe`` of the previous one.
654-
The ``io.states`` ports expose all intermediate stages as ``Flow``\s so that any stage can be inspected.
655-
An optional ``io.clear`` input can flush all stages simultaneously.
656-
657-
.. list-table::
658-
:header-rows: 1
659-
:widths: 2 2 5
660-
661-
* - Signal
662-
- Type
663-
- Description
664-
* - ``io.push``
665-
- slave Stream[T]
666-
- Input stream; enters the first stage of the chain
667-
* - ``io.pop``
668-
- master Stream[T]
669-
- Output stream; exits the last stage of the chain
670-
* - ``io.states``
671-
- Vec(master Flow[T], length)
672-
- Read-only view of each registered stage in the chain
673-
* - ``io.clear``
674-
- in Bool (default False)
675-
- When asserted, flushes all pipeline stages
676-
677-
.. code-block:: scala
678-
679-
val input = Stream(Bits(8 bits))
680-
val output = Stream(Bits(8 bits))
681-
682-
// Create a 3-stage shift chain
683-
val chain = StreamShiftChain(input, output, length = 3)
684-
685-
// Read the second stage value without consuming it
686-
when(chain.io.states(1).valid) {
687-
val stage1Data = chain.io.states(1).payload
688-
}
689-
690-
// Flush all stages
691-
chain.io.clear := flushCondition
692-
693613
StreamTransactionExtender
694614
^^^^^^^^^^^^^^^^^^^^^^^^^
695615

0 commit comments

Comments
 (0)