doc: ASMI -> LASMI
This commit is contained in:
parent
794c4e6041
commit
cf22aae06f
|
@ -39,13 +39,13 @@ To interface with the CPU, the frame initiator uses Migen to provide a CSR bank
|
||||||
Pixel fetcher
|
Pixel fetcher
|
||||||
=============
|
=============
|
||||||
|
|
||||||
The pixel fetcher is made up of the address generator, the ASMI reader and the unpacker.
|
The pixel fetcher is made up of the address generator, the LASMI reader and the unpacker.
|
||||||
|
|
||||||
The address generator is a simple counter that takes one token containing the pair ``(base, length)`` and generates ``length`` tokens containing ``base``, ..., ``base+length-1``. It is implemented using a Migen library component (see :ref:`intsequence`).
|
The address generator is a simple counter that takes one token containing the pair ``(base, length)`` and generates ``length`` tokens containing ``base``, ..., ``base+length-1``. It is implemented using a Migen library component (see :ref:`intsequence`).
|
||||||
|
|
||||||
Those addresses are fed into the ASMI reader (see :ref:`busactors`) that fetches the corresponding locations from the system memory. The ASMI reader design supports an arbitrary number of outstanding requests (which is equal to the number of slots in its ASMI port), which enables it to sustain a high throughput in spite of memory latency. The ASMI reader also contains a reorder buffer and generates memory word tokens in the order of the supplied address tokens, even if the memory system completes the transactions in a different order (see see :ref:`asmi` for information about reordering). These features make it possible to utilize the available memory bandwidth to the full extent, and reduce the need for on-chip buffering.
|
Those addresses are fed into the LASMI reader (see :ref:`busactors`) that fetches the corresponding locations from the system memory. The LASMI reader design supports several outstanding requests, which enables it to sustain a high throughput in spite of memory latency. This feature makes it possible to utilize the available memory bandwidth to the full extent, and reduces the need for on-chip buffering.
|
||||||
|
|
||||||
ASMI memory words are wide and contain several pixels. The unpacking actor (see :ref:`structuring`) takes a token containing a memory word and "chops" it into multiple tokens containing one pixel each.
|
LASMI memory words are wide and contain several pixels. The unpacking actor (see :ref:`structuring`) takes a token containing a memory word and "chops" it into multiple tokens containing one pixel each.
|
||||||
|
|
||||||
Video timing generator
|
Video timing generator
|
||||||
======================
|
======================
|
||||||
|
|
|
@ -208,19 +208,17 @@ The ``migen.actorlib.dma_wishbone.Writer`` takes a token containing a 30-bit Wis
|
||||||
|
|
||||||
Only Wishbone classic cycles are supported. The throughput is limited by the Wishbone stall cycles only.
|
Only Wishbone classic cycles are supported. The throughput is limited by the Wishbone stall cycles only.
|
||||||
|
|
||||||
ASMI reader
|
LASMI reader
|
||||||
|
------------
|
||||||
|
|
||||||
|
The ``migen.actorlib.dma_lasmi.Reader`` requires a LASMI master port at instantiation time. This port defines the address and data widths of the actor and how many outstanding transactions are supported.
|
||||||
|
|
||||||
|
Input tokens contain the raw LASMI address, and output tokens are wide LASMI data words.
|
||||||
|
|
||||||
|
LASMI writer
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
The ``migen.actorlib.dma_asmi.Reader`` requires a ASMI port at instantiation time. This port defines the address and data widths of the actor and how many outstanding transactions are supported.
|
Similarly, Migen provides a LASMI writer actor that accepts tokens containing an address and write data (in the same format as a LASMI word).
|
||||||
|
|
||||||
Input tokens contain the raw ASMI address, and output tokens are wide ASMI data words.
|
|
||||||
|
|
||||||
If more than one slot are assigned to the port, the reader actor implements a reorder buffer (so that the order of the output tokens matches that of the input tokens even if the memory system completes transactions out-of-order) and is capable of supporting as many outstanding transactions as there are slots.
|
|
||||||
|
|
||||||
ASMI writer
|
|
||||||
-----------
|
|
||||||
|
|
||||||
TODO
|
|
||||||
|
|
||||||
Miscellaneous actors
|
Miscellaneous actors
|
||||||
====================
|
====================
|
||||||
|
|
BIN
doc/fbflow.dia
BIN
doc/fbflow.dia
Binary file not shown.
BIN
doc/fbflow.png
BIN
doc/fbflow.png
Binary file not shown.
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 84 KiB |
Loading…
Reference in New Issue