Skip to content

Commit

Permalink
doc: ASMI -> LASMI
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebastien Bourdeauducq committed Jul 22, 2013
1 parent 794c4e6 commit cf22aae
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 11 deletions.
6 changes: 3 additions & 3 deletions doc/casestudies.rst
Expand Up @@ -39,13 +39,13 @@ To interface with the CPU, the frame initiator uses Migen to provide a CSR bank
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`).

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
======================
Expand Down
14 changes: 6 additions & 8 deletions doc/dataflow.rst
Expand Up @@ -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.

ASMI reader
-----------

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.
LASMI reader
------------

Input tokens contain the raw ASMI address, and output tokens are wide ASMI data words.
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.

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.
Input tokens contain the raw LASMI address, and output tokens are wide LASMI data words.

ASMI writer
LASMI writer
-----------

TODO
Similarly, Migen provides a LASMI writer actor that accepts tokens containing an address and write data (in the same format as a LASMI word).

Miscellaneous actors
====================
Expand Down
Binary file modified doc/fbflow.dia
Binary file not shown.
Binary file modified doc/fbflow.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit cf22aae

Please sign in to comment.